CS 184 Final Project Final Deliverable

Real Time Path Tracing with Implicit Geometries Defined by Distance Functions

Team Members


The project aims to achieve real-time path tracing with OpenGL. Since the traditional rendering pipeline doesn't easily allow us to pass in a scene for path tracing, we decided to use signed distance function to describe complex scenes in the shader function. This take also grants us a good level of details: With the traditionally modeled geometry, there would always be corners and edges due to the way those models are explicitly defined. Path-tracing a signed distance field preserves the smoothness of shapes in space — the quality is only bounded by the frame resolution and the sampling rate.

Technical Approach

Please find the technical approach in the paper linked in the results section below.


An ACM-SIGGRAPH-paper-styled progress report is available for download here.

In the span of four weeks, we managed to




  1. Carl Lorenz Diener. 2012. Procedural modeling with signed distance functions.
  2. Inigo Quilez. [n.d.]. Modeling with distance functions. Retrieved April 23, 2018 from http://iquilezles.org/www/articles/distfunctions/distfunctions.htm
  3. Jamie Wong. 2016. Ray Marching and Signed Distance Functions. Retrieved April 23, 2018 from http://jamie-wong.com/2016/07/15/ray-marching-signed-distance-functions/
  4. Bilateral filter. [n.d.]. Retrieved May 2, 2018 from https://en.wikipedia.org/wiki/Bilateral_filter
  5. Menger sponge. [n.d.]. Retrieved May 2, 2018 from https://en.wikipedia.org/wiki/Menger_sponge

Contributions from Each Team Member