Project: Visualizing the Mandelbulb
Introduction
The Mandelbulb is a 3D representation of the classic Mandelbrot Set discovered by Paul Nylander and Daniel White, where spherical coordinates are used instead of the usual complex numbers to generate the fractal. Collaborating with two other teammates at the exclusive Northwest Advanced Programming Workshop during my senior year of high school, this project utilizes raymarching, a quaternion-based camera, and ambient occlusion in GLSL shaders to create a simple real-time Mandelbulb viewer, and paved the road to my expertise in OpenGL. The original project can be found here (for linux-based systems), with a more updated version for Visual Studio 2019 here.
Controls
MU: changing the pointlight’s intensity
ZX: changing the raytracing step
CV: changing the Mandelbulb’s bailout
PO: changing the Mandelbulb’s power
78: changing the Mandelbulb’s phi shift
90: changing the Mandelbulb’s theta shift
Ctrl+key: increases the change speed
Shift+key: decreases the change speed
Alt+Ctrl/Shift+key: magnifies speed change
WASD: up/left/down/right movement
RF: zooming in/out
IJKL: camera rotation
QE: camera roll
Mouse Click: arcball camera rotation
TY: moving the pointlight on the X-axis
GH: moving the pointlight on the Y-axis
BN: moving the pointlight on the Z-axis