🏆 Showcase Winner — UC Berkeley CS 184/284A, Spring 2025
An educational real-time global illumination renderer inspired by techniques described for Unreal Engine 5's Lumen system.
Final Report · Official Showcase · Course · Final Slides · Final Video
This project investigates how signed distance fields, surface caching, radiance caching, and limited-bounce tracing can approximate global illumination at interactive frame rates.
We began with a world-space signed distance field and progressively redesigned the representation around per-mesh distance fields and card-based surface caches. The resulting renderer combines explicit early light transport with cached contributions from more distant bounces.
This is a course research renderer inspired by ideas behind Unreal Engine 5's Lumen. It is not Epic Games' production Lumen implementation, does not run inside Unreal Engine, and is not affiliated with Epic Games.
The implementation extends the UC Berkeley CS 184/284A Homework 3 path-tracing codebase.
This public repository intentionally contains the project reports, presentation links, video, and rendered results only. Course-derived implementation source is preserved separately in a private archive in accordance with course policy.
- World-space SDF generation using the Jump Flooding Algorithm
- Per-mesh object-space signed distance fields and SDF ray marching
- Card generation using K-Means clustering and PCA-derived oriented bounding boxes
- Surface and radiance caches with directional samples
- Two-bounce tracing combined with cached distant illumination
- Diffuse and ideal mirror material experiments
| Stage | Reported performance |
|---|---|
| World-space SDF visualization | ~25 FPS |
| Mesh-space SDF visualization | ~160 FPS |
| Surface-cache visualization | ~80 FPS |
| Final CBbunny scene | ~20 FPS |
| Final CBlucy and CBdragon scenes | ~10 FPS |
These measurements were recorded during project development and should be interpreted as project-specific observations rather than standardized benchmarks.
- Jasper Liu
- Jinglun Zhang
- Junming Chen
- Zihan Liao
Jasper Liu contributed throughout project ideation and technical discussions; co-authored the report and presentation slides; participated in experimental analysis and interpretation of performance and quality trade-offs; built and maintained the public project website; and presented the work during the final showcase.
Zihan Liao led the core renderer implementation. The project was developed collaboratively by the four-person team.
proposal/— initial problem formulation and project planmilestone/— implementation progress and intermediate resultsfinal/— final technical report and result gallery- GitHub Release assets — archived video and supporting deliverables
The project was selected as one of five Showcase Winners from more than 60 Spring 2025 CS 184/284A team projects.
- Epic Games, Lumen Technical Details
- Daniel Wright, Krzysztof Narkowicz, and Patrick Kelly, “Lumen: Real-Time Global Illumination in Unreal Engine 5,” 2022.
- Guodong Rong and Tiow-Seng Tan, “Jump Flooding in GPU with Applications to Voronoi Diagram and Distance Transform,” 2006.
