Raymarching SDFs (Signed Distance Fields, or Functions sometimes) is slowly getting popular, because despite its elegance and simplicity, it is a powerful way to render 3D models, both procedural and not. But the technique has been around for a long time. The oldest mention of raymarched SDFs that I've been able to find is the paper by Sandin, Hart and Kauffman from 1989, which used it for rendering 3D fractals. B.Wyvill and G.Wyvill did work on modeling through implicit fields too that same year, and many of the common SDF operators we use today like min() for union, max() for intersection and smooth-minimum were already described by A.Ricci in his paper about constructive solid modeling for implicit surfaces in 1972 no less. I think it's fair to say raymarching of SDFs has been an ongoing and ever evolving topic since the beginning of times.

My own causal experiments with raymarching SDFs started in 2001 but got more serious in 2007 when I read about Alex Evan's work from 2006 and Keenan Crane's work from 2005. While raymarching arbitrary isosurfaces had been used extensively by demosceners like myself for a long time, the idea of constraining the field to be an euclidean distance (ie, a field with a gradient of unit length everywhere) and its consequences for rendering speed and creative shading and lighting potential was new and exciting to me.

A raymarched procedural SDF, step by step modeling, shading and lighting

Now, although raymarching SDFs is a great way to render regular polygonal meshes, as a demoscener and lover of procedural content, my focus went straight to implementing the SDFs directly as code instead of as a data structure. Timing was great for such an effort -- 1st, GPUs were evolving their computational/ALU capabilities faster than their memory bandwidth (which means purely mathematical SDFs started to be competitive against a 3D-texture/voxel/octree based SDFs). 2nd, I had personal interest exploring the maths required to do so. 3rd, I was starting to grow an interest in getting better at art. 4th, as a demoscener I was naturally captivated by procedural content generation. And as a result of this multi-convergence, in 2008 I created four images by raymarching SDFs (which you can see at the very bottom of this page). I have never stoped since, always as a hobby but also always consistently and pushing myself, improving and polishing the maths and techniques, and even developing new one occasionally.

I'm not alone on this of course, many people have jumped into the boat of SDFs as well, and no matter whether they are Shadertoy hobbyist, game developers working on a commercial game, ML researcher at a university, a CG professor or a student, they are all pushing the field forward in fronts such antialiasing, efficient shadowing, UV mapping, articulation, differentiable rendering and many more.

For my part, besides the technical research itself, I also spend time trying to create beautiful realtime animations based on these techniques to attract some attention to them, in the hopes that even more people consider exploring the field.

Now, if you are ready to jump aboard and join us, I developed these resources that you should check: