Path-Marched 3D Fractal Renderer
For my final project in my graphics course, rather than sticking with the status-quo of triangular surfaces, I wanted to render an object with an infinite level of detail. Although truly infinite detail is still a pipe dream of computer graphics enthusiasts, mathematicians have known for a while that complicated objects could be described by surprisingly simple equations. These objects, loosely gathered under the label “fractals,” could bypass the limitations of polygon-based rendering, giving viewers the illusion of more detail on their computer screen than their processor is able to handle.
Since all of computer graphics is an illusion anyway, going the next step with three-dimensional fractals seemed like an excellent idea to me!
My final result used WebGL to render complicated graphics in any desktop web
browser: even desktops without dedicated graphics cards. The various controls on
the right-hand side of the screen control aspects of the rendering atmosphere
such as the sunlight’s angles, sky turbidity, material reflectivity, and
recursion depth. Users can press the WASD
keys on their keyboard to move the
camera along the ground plane, as well as the QE
keys to raise and lower the
camera. Camera rotation in all directions can be achieved by holding down
shift
while pressing the aforementioned letters.
You can play with the simulation here, and view the source on GitHub. Feel free to send me any screenshots of impressive renders you create!