CS 184 Final Project Final Deliverable

- Diyu Luo (3033157233)
- Jiejun Luo (3032217033)
- Zhuo Lu (3032083055)

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.

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

- populate primitive shapes into the scene;
- implement a ray marching algorithm that walks in the signed distance field;
- render objects of different BSDF materials, including diffuse, mirror and glass;
- support area light source and uniform environment lighting;
- implement global illumination with Russian Roulette early termination;
- implement post-process bilateral filtering as denoiser;
- model a complex scene with signed distance functions.

- Carl Lorenz Diener. 2012. Procedural modeling with signed distance functions.
- Inigo Quilez. [n.d.]. Modeling with distance functions. Retrieved April 23, 2018 from http://iquilezles.org/www/articles/distfunctions/distfunctions.htm
- 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/
- Bilateral filter. [n.d.]. Retrieved May 2, 2018 from https://en.wikipedia.org/wiki/Bilateral_filter
- Menger sponge. [n.d.]. Retrieved May 2, 2018 from https://en.wikipedia.org/wiki/Menger_sponge

- Diyu set up the initial dev environment and later spent time designing various signed distance functions with Jiejun to come up with the final rendering of the castle.
- Jiejun spent time modeling signed distance functions with unique looks with Diyu, and together came up with the final real-time rendering result.
- Zhuo adapted the generalized path tracer for GLSL supporting three BSDF materials and arranged a two-stage solution for post-process bilateral filter.