Sylvain PILLOT aa95fe7c8b | ||
---|---|---|
assets-cg | ||
images | ||
src | ||
.gitignore | ||
CMakeLists.txt | ||
README.md | ||
build | ||
capture | ||
clean | ||
send |
README.md
A simple shader for AZUR aiming at computing the Mandelbrot and the Julia fractal sets
What is this addin doing ?
This small demo is based on Azur. It uses its ultra fast rendering pipeline with specific a specific high speed quadratic calculation algorithm written by Lephenixnoir a,d able to handle both :
- Mandelbrot's set calculations :
Z_(n+1) = Z_n^2 + C
withZ_0 = 0 + 0 i
andC
covering the complex plan - Julia's set calculations :
Z_(n+1) = Z_n^2 + C
withC = A + B i
andZ_n
covering the complex plan
Both Mandelbrot - named as per Benoît MANDELBROT (1924-2010) - and Julia - named as per Gaston JULIA (1893-1978) - fractals are based on the convergence determination of the equation Z_(n+1) = Z_n^2 + C
.
What can we do ?
Control keys are :
-
[EXIT] to leave to the Operating System
-
[F1] to [F4] to show/switch off some informations on the screen :
- [F1] : hide everything
- [F2] : minimal output FPS + rendering time
- [F3] : detailed update/rendering time
- [F4] : memory usage
-
[F5]/[F6] : switch fractal mode
- [F5] : set Mandelbrot fractal
- [F6] : set Julia fractal
-
[OPTN]/[VARS] : switch resolution
- [OPTN] : set resolution scale to 1, the fractals are computed on a 396x224 grid
- [VARS] : set resolution scale to 0.5 (2x2 pixels), the fractals are computed on a 198x112 grid (much faster but lower quality)
For the Julia set only :
- [SHIFT]+[Directional Cross] : change the value of the C value (
C = A + B i
)- [SHIFT+LEFT] : A = A - 0.002
- [SHIFT+RIGHT] : A = A + 0.002
- [SHIFT+DOWN] : B = B - 0.002
- [SHIFT+UP] : B = B + 0.002
A and B are constrained in the range [-2.000 .. 2.000]
If you have a running session of fxlink
:
- [7] to [9] to export the calculator screen to fxlink :
- [7] : take a screenshot
- [8] : start video output (not : this is just rendered in a SDL2 window, not recorded, OBS/ffmpeg may be your very best friends to do so)
- [9] : stop video output
Have fun !!!