Tim's Portfolio

3D Fractals (old)

More images are available in the gallery

3D Fractals

Here, I implemented a CPU-based ray-tracer in C++, which simulates paths of light through space as they collide with the computed fractal geometry. For 3D fractals, whose shape is complicated and chaotic, these light paths need to take lots of very small steps to avoid skipping right through parts of the fractal. These small step sizes make this kind of ray tracing computationally expensive, especially when done many times per pixel, for a million pixels, just for a single image. Multi-threading can reduce the time significantly, though the rendering time of these fractals ranged from 2 minutes to 30 minutes.

The code for this is old and horrible and I shall not be releasing it. Sorry.

Please see my work on path tracing for newer 3D fractals.

I've also used the same ray-tracing algorithm to render other things, like voxel clouds and octrees.

Animated

Flying

Negative Field-of-View

Orbit

3D Fractals (GLSL)

These fractals were implemented using a similar ray tracing algorithm to that described above, though instead of running on the CPU, these ones were implemented in GLSL and ran on the GPU. The lighting is done using the Blinn-Phong shading model, for which a local estimate of curvate was computed to generate a surface normal.

Note: while this renderer ran significantly faster than the CPU-based ray-tracer, the FPS counter in the top-left corner is rounded up. In actuality, the speed was about 5 to 10 seconds per frame at full-screen.