Exploring Ray Marching Chapter 5

Experiments

Building upon the concepts and techniques discussed throughout this work, this chapter showcases several images produced during the development of the research.

Rendering Results

Ray Marching is particularly expressive when it comes to rendering shapes. Since the geometry is described as a distance field, it allows enormous flexibility when modeling 3D shapes with mathematical expressions. Figure 27 illustrates a smooth interpolation between the distance field of a sphere and that of the Stanford Bunny, a widely used 3D test model from the Stanford 3D Scanning Repository [Turk & Levoy, 1994].

Interpolation step 0
Interpolation step 1
Interpolation step 2
Interpolation step 3

Figure 27 — Smooth Interpolation between a Sphere and Stanford Bunny.

In the context of volumetric rendering, different signed distance functions can be employed to define the spatial bounds and volumetric density of a shape. This enables the exploration of a wide range of volumetric structures, including tubular clouds and a Stanford Bunny-shaped cloud, as illustrated in Figure 28.

Stanford Bunny-shaped cloud
Stanford Bunny-shaped Cloud
Tubular clouds
Tubular Clouds

Figure 28 — Stanford Bunny-shaped cloud and tubular clouds.

Natural structures typically exhibit a balance between regularity and irregularity rather than perfect smoothness or complete randomness. Noise techniques are extremely powerful for simulating organic shapes through controlled variation — including deformed spheres, mountainous landscapes, and terrain, illustrated in Figure 29.

Domain warping
Domain Warping
Mountains
FBM Noise Mountains

Figure 29 — Scenes generated with Domain Warping and FBM Noise.

Domain repetition can be used to efficiently construct scenes composed of many similar elements. In Figure 30, a single torus SDF is periodically repeated across space to populate the scene with multiple instances.

Infinite tori
Figure 30 — Infinite tori rendered with domain repetition.

As mentioned in earlier chapters, Ray Marching is widely used for the rendering of fractals — from simpler forms (Sierpiński Triangle) to more generalized ones such as Kaleidoscopic IFSs (Iterated Function Systems), as displayed in Figure 31.

The technique used to render the Sierpiński Triangle is a variation of domain repetition applied to tetrahedrons — the additional cost for calculating infinite distances is reduced to just one repeating object. This generalizes to all platonic objects. With clever space folding and rotations, a 2010 user of Fractal Forums [Godar, 2010] came up with what they called Kaleidoscopic IFS, now a mainstay in the fractal rendering community.

Sierpinski Triangle
Sierpiński Triangle
Hollow Insides of Kaleidoscopic IFS
Hollow Insides of a Kaleidoscopic IFS
Outside of Kaleidoscopic IFS
Outside of Kaleidoscopic IFSs
Outside of Kaleidoscopic IFS
Outside of Kaleidoscopic IFSs
Outside of Kaleidoscopic IFS
Outside of Kaleidoscopic IFSs
Insides of Kaleidoscopic IFS
Insides of Kaleidoscopic IFS
Insides of Kaleidoscopic IFS
Insides of Kaleidoscopic IFS
Outside of Kaleidoscopic IFS
Outside of Kaleidoscopic IFSs

Figure 31 — Multiple fractals using the Kaleidoscopic IFS technique.