Real Time Path Tracing with Implicit Geometries Defined by Distance Functions
Team Members
Diyu Luo (3033157233)
Jiejun Luo (3032217033)
Zhuo Lu (3032083055)
Overview
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.
Results
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.
Video
Slides
References
Carl Lorenz Diener. 2012. Procedural modeling with signed distance functions.
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.