Skip to content
An orbiting camera around three orange spheres blended together and a rounded box, sitting on a checkerboard floor under a blue sky, with soft shadows.

Rendering without geometry

Nothing here is a mesh. It is all just distance.

A signed distance function returns how far any point is from the nearest surface. Give a ray that number, step exactly that far, and repeat - you cannot overshoot. That single idea, sphere tracing, renders these blended blobs, the rounded box and their soft shadows without a single polygon.

380 x 380 60-frame orbit smooth-min CSG pure C#, BCL only

Four ideas on the whole scene

From a distance function to a lit pixel

Sphere tracing

Per pixel, march the ray forward by the current distance-to-surface. Where a true distance field is returned, the step never crosses a surface - so it converges fast and exactly (Hart, 1996).

Smooth union

Combining shapes is arithmetic: min(a,b) welds two fields together. A softened min blends them with a rounded seam, which is why the three spheres melt into one form.

Normals for free

The gradient of a distance field is the surface normal. Sample the field a hair to each side along x, y and z, and the differences give the shading normal - no stored vertex data.

Shadows by marching

To shade a point, march a second ray toward the light. Track how close it passes to any surface and you get penumbra for free - the soft-edged shadows under the shapes.

A single rendered frame of the blended spheres and rounded box on the checkerboard plane.

One frame from the orbit. Floor tint, rim light and a distance fog are all computed from the same march - the field is the only scene description.