Understanding the fundamentals of ray marching
Before diving into the practical applications and implementation tricks of ray marching, let’s first have a quick run through the concepts it relies on.
In the upcoming sections, we will first introduce the concept of signed distance functions (SDFs) for representing arbitrarily complex shapes, then understand how this notion can be used to actually compute 3D renders, and finally, have a look at how to add shading to ray marching visualizations.
Describing a shape with SDFs
At the core of the ray marching process is a concept called the signed distance function, or SDF. To put it simply, SDFs are mathematical functions that take a point in space (represented by its X, Y, and Z coordinates) and return how far it is from a surface.
It may seem like a strange idea to compute surfaces at first, but the power of SDFs is that they can describe quite complex shapes in just a few lines, and they allow us to render surprising...