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.
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.
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.