Rendering implicit surfaces on the GPU.

This project implemented the sphere-tracing algorithm for ray-marching implicit surfaces. The shader was written in GLSL for high-performance GPU rendering. All shapes were defined using distance functions, including domain operations to combine/transform shapes, and the program morphs between shapes. Shading is done with shadows and direct illumination from a single point light, a Blinn-Phong BSDF, and constant ambient illumination.