A GPU-accelerated Mandelbrot set explorer I had always dreamed to make.
Implemented using wgpu
and winit
.
![]() |
---|
-0.875+0i |
![]() |
---|
-1.76890083019633803652+0.00196313078063698127i |
![]() |
---|
-1.96674830636502062653+0.00000000208939884234i |
![]() |
---|
-0.1765599646357011443+1.08733928724540818145i |
![]() |
---|
-1.7692784002942480992+0.00331152861491198873i |
![]() |
---|
-1.7692784002942480992+0.00331152861491198873i |
- Real-time rendering of Mandelbrot and Julia sets
- Zooming and panning
- Adjustable iteration depth
- Fullscreen mode
- Pretty colors
Action | Input |
---|---|
Move | W A S D |
Zoom | Mouse scroll |
Zoom at cursor | Ctrl + mouse scroll |
Toggle Mandelbrot/Julia | Spacebar |
Toggle color rotation | Q |
Reset view | R |
Decrease iterations (100) | , (comma) |
Increase iterations (100) | . (period) |
Fullscreen toggle | F11 |
Exit | Esc |
- Uses
wgpu
so should work on all platforms with Vulkan/Metal/DX12 f64
usage prevented me from porting it to web- May not work on your GPU due to that
- View precision limited to ~4.3 × 1013 (floating point limits)
- Rust toolchain (install via
rustup
) - System with Vulkan/Metal/DX12 support
- GPU with double-precision support (most dedicated GPUs)
Build from source:
git clone https://github.com/zohnannor/mandelbrot-explorer-wgpu
cd mandelbrot-explorer-wgpu
cargo run --release
Using cargo
:
cargo install --git https://github.com/zohnannor/mandelbrot-explorer-wgpu
mandelbrot-explorer-wgpu
- Higher iteration counts provide more detail but reduce performance in certain areas of complex plane
- Automatic max iterations
- Palettes?
- Ability to enter coordinates
- And copy current
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT license (LICENSE-MIT)
at your option.