Raymarching compute shader

Raymarching is a unique rendering technique I came across a few years back through a video. Inspired by this video, I wanted to render my own 3D fractals using this technique. At the same time, I'd always been interested in GPU programming so I took this opportunity to learn about Unity's compute shaders. It also helped me to get better at HLSL as it never was my strong point.

I first followed a blog on GPU raytracing in Unity to get familiar with compute shaders. Once I felt comfortable I moved on to implementing the raymarcher.

Raytraced spheres (up to 8 ray bounces, only lighting was sampled from skybox).

Afterwards, I followed another article I found through the aforementioned video. Though it was written in GLSL it still helped a lot in understanding the algorithms. Once I had the raymarching algorithm working, I added Blinn-Phong shading to color and shade the geometry. Currently, the program supports raymarching spheres, planes, the Sierpinski tetrahedron and the Mandelbulb.

Raymarched Sierpinski tetrahedron (7 iterations).
Raymarched mandelbulb with increasing power.

The project is still a work-in-progress. Next up, I'd like to add ambient occlusion and glow as they are easy and cheap to compute for raymarching. I also want to add the Menger sponge and start combining fractals.