- Fluid simulation and differentiable rendering systems using Taichi, NVIDIA Warp, and nvdiffrast across graphics- and simulation-related workflows.
Damaged Helmet · deferred PBR · full material stack
Lantern · emissive driving scene lighting
MetalRoughSpheres · BRDF calibration
Path-tracing pipeline · ReSTIR direct illumination + Intel OIDN denoising
ReSTIR OFF · 1 spp · 12 lights · noise dominated
ReSTIR ON · 1 spp · 12 lights · usable signal
Helmet · 16 spp · raw path-traced
Helmet · 16 spp · OIDN denoised
Ohao Engine
C++20 · Vulkan KHR RT · GLSL · ~50K C++ + 11K GLSL
Standalone Vulkan engine written from scratch. Hybrid renderer: a deferred G-buffer path and a hardware ray-tracing path share one scene representation, bindless resources, and acceleration-structure workflow. Architecture spans render (22K LOC), physics (11K LOC), and a gpu / Vulkan abstraction layer (8K LOC).
Deferred path: Cook-Torrance GGX BRDF, cascaded shadow maps, TAA, SSAO, screen-space reflections. Path-tracing path: Vulkan KHR ray-tracing with multiple-importance sampling, ReSTIR for direct illumination on many-light scenes (1 spp becomes usable instead of unrenderable), and Intel OIDN integration for production-quality output at low sample budgets. Adaptive sampling driven by per-tile variance.
Physics layer: GJK / EPA collision detection over a BVH. Top renders use Khronos glTF Sample Assets — a sanity-check that the engine reproduces the reference results graphics engineers actually verify against.