Skip to content

Program written in c# to display and examine fractal structures

License

Notifications You must be signed in to change notification settings

abc013/FractalPlotter

Repository files navigation

FractalPlotter

FractalPlotter is a program written in c# to display and examine fractal structures. It supports switching fractals/shaders and color palettes seamlessly as well as adjusting parametes in runtime. FractalPlotter is using a GL backend and shaders for each fractal structure, such as the Mandelbrot and Julia fractals.

Dependencies

Framework: .NET 6

Download

Releases are available here. The source code can either be downloaded as zip or cloned via git using:

git clone https://github.com/abc013/FractalPlotter.git

Compiling

After installing the .NET 6 SDK, make a local copy of this repository. Open a command line and navigate to the corresponding directory:

cd C:/example/path/to/downloaded/directory/FractalPlotter/

After doing so, just run the following command:

dotnet build

This command should fetch the dependencies via NuGet (make sure you have an internet connection!) and build the binaries for you. Done!

As text editors, Visual Studio 2022 or Visual Studio Code are recommended.

Settings

Most options can be modified in the program. However, to get access to more settings or to have the same arguments at every startup, you can create a settings.txt in the same directory where the executable is. To see what can be modified, please take a look at the Settings.cs file. An example of a settings.txt might be:

Points=false
DefaultShader=julia
Scale=1.5
Factor1X=-0.5
Factor1Y=0.55

Issues

If you encounter any problems or bugs while compiling or running the program, feel free to open an issue! Please don't forget to atttach the exception.log and information.log files.

After Zooming in a while, the texture gets really pixelated!

Yes, this is a limitation brought with the standard 32-bit floats. They are not precise enough to display such deep zooming, thus the texture becoming pixelated. However, also a 64-bit version of the implemented shaders also exists, which greatly improves quality at the cost of performance. However, these shaders may not be supported on certain devices.