This is a port to Rust of my implementation of rendering a Mandelbrot set written long long time ago in C++.
cargo +nightly run --release
Left mouse click
Centers view on given position[
Zoom out]
Zoom in←↑↓→
Fine tuning, moves the view by 10%=
Increase iterations-
Decrease iterations1...9
Set center of the window to some POI (6 is iteresting one)0
Reset viewspace
Dump current position to the console
- simple version - one thread + double
- multithreaded - unsafeCell + atomics to sync up with workers
- multithreaded using Rayon
- avx2 version + Rayon
- avx512 (lack of CPU to test it, lol)
- arbitrary precision rug
- quadruple (double double) + Rayon:
- Use builder and strategy patterns to conveniently select fractal, point on a plane, floating arithmetic, and the executor.
- arbitrary precision custom SoftFloat
- arbitrary precision ramp
- cuda?
- try to improve rug execution?
- using new algorithm to calculate
- Julia
- create a video from the pass
- adaptive float type selection on the fly
- start with the floats, jump to doubles, then go to quads. Depending on the zoom magnitude.
- port to WASM