Implementing signed distance function in PBRT

I implemented signed distance function as a renderable shape in PBRT.

Doing this was a good way to start exploring the engine, but I won’t work on it further. It does not fit well with PBRT’s design (which assume that every intersectable shape has a 2D parametrization), plus it is very inefficient. I’m currently exploring pathtracing on GPU, which is a much better candidate for heavy memoryless loops, like the ray / signed distance field intersection.

Raymarched sphere
Mandelbulb
IFS fractal
IFS fractal