This is a GPU, OpenGL, compute shader fractal renderer. Feature suggestions/pull requests are welcome.
Being a mostly project of mine made for fun, the source code is all on a single file... Setting up CMake for lib management also takes too much time for me 🙃.
Feature | Implemented | Realtime1 |
---|---|---|
32-bit precision | ✔️ | ✔️ |
64-bit precision | ✔️ | ❌ |
128-bit precision2 | ❌ | ❌ |
Colored output3 | ✔️ | ✔️ |
Coordinate selection | ✔️ | ✔️ |
Magnitude selection | ✔️ | ✔️ |
Iteration selection | ✔️ | ✔️ |
Adaptative iterations | ❌ | ➖ |
Windowed mode | ❌ | ➖ |
Video render4 | ✔️ | ❌ |
Shaders inside binary | ❌ | ➖ |
1Framerate may vary depending on hardware. Tested on a GXT 1070.
2Is this crazy on a GPU shader?
3Limited to single colored gradient or a fixed hue mode.
4Currenly only outputs binary ppm frames (P6 - Portable PixMap
) to a numbered folder. Use some lib like ffmpeg
to compress the frames into a video format.
Set | Implemented |
---|---|
Mandelbrot set | ✔️ |
Burning ship set | ✔️ |
Custom polinomial sets | ❌ |
Here is an image of the software running. The UI is relatively simple to grasp, just play around with it. This readme can explain it if you're willing to pull request 😅.
For the MSVC compiler:
mkdir build && cd build
cmake ..
cmake --build . --target ALL_BUILD --config Release