This is the Honours project repository for Solomon Baarda, a MEng Software Engineering student at Heriot-Watt University in Edinburgh, Scotland.
A fractal is a pattern which remains detailed at any arbitrary scale. As such, fractals appear everywhere in the natural world from the structure of clouds to the roughness of mountains to the edges of our coastlines. Many disciplines require software capable of displaying fractals, such as in the medical industry when modelling the growth of cancerous cells, or when describing losses and gains in the stock market. Fractals are also a key design choice in some computer science algorithms such as fractal image compression, and they have also been used to help display complex data sets. Most of the currently available 3D fractal viewing applications are designed for offline rendering, while there are few applications which can accurately display changes to 3D fractals in real time. This project developed a proof-of-concept application capable of updating and rendering 3D fractal geometry in real-time, through the utilisation of the parallel nature of the current generation of graphical processors. The application was tested on the Mandelbulb and Sierpiński cube and tetrahedron fractals, though in practice the renderer is far more flexible and can display any geometry representable by distance estimation, whether that is a fractal, CSG-model, or an algebraic or meta-surface.
Screenshots and videos of the application when running can be viewed here
The RealtimeFractalRenderer documentation can be viewed here
A copy of my final dissertation can be viewed here
A copy of my initial research report can be viewed here