Raymarching Fractals and Abstract Shapes

A Raymarching solution built in C++ that uses OpenCL, QT, and a custom scripting language to allow users to animate and view abstract mathematical structures.


Viewpoint is a ray marcher, previously known as Raypoint. Ray marchers involve simulating light in order to get more realistic and defined images than rasterization allows. An advantage it has over ray tracing is that it can represent structures that are not able to be traced (e.g. fractals). This is at the cost of calculation time. To this point, the program works with both ray tracing and ray marching together, though its primary use is as a ray marching solution. As opposed to other ray marching solutions, Viewpoint allows the user to script their own functions that represent the structure of the object they want to see. The user can also modify the material of the objects. This allows for reflective and refractive surfaces which interact with light differently. The program also allows the animation of the camera and the variables creating the objects.

  • Built entirely in C++

  • User interface powered by Qt

  • Used OpenCL to send parallel instructions to GPU

  • Scripting language used within this program was of my own creation

  • Group Size: 1
  • Role: Solo Developer
  • Date: December 2014