Han Yang's Portfolio
Realtime Global Illumination

Global Illumination using Voxel Cone Tracing (with volumetic light)
Intro
This is a project aimed at implementing realtime GI techniques in OpenGL
Here I’ve implemented two GI methods:
LPV (light propagation volumes) with HBAO
VXGI (Voxel cone tracing)
Addtional techniques that makes this scene look better:
Variance Shadow Mapping -> Soft Shadows
ACES Tonemapping -> Vibrant Color
Light propagation volumes
Mostly ambient lighting at low frequency
Based on SH (spherical harmonics), used first two levels of SH (4 coefficients in total)
Steps of computation:
1. light and geometry injection from reflective shadow maps
2. light propagation
3. calculate ambient light in lighting stage

Direct lighting only

LPV + HBAO

LPV Grid Visualization
Voxel Cone Tracing
Supports glossy reflection and has a inherent ambient occlusion (which is quite nice ^_^)
GPU voxelization, aniso-mipmapping
Steps of computation:
1. Voxelization
2. Voxel lighting
3. Pre cone tracing stage (emulates multiple bounces, crude cone tracing)
4. calculate ambient light in lighting stage (more precise cone tracing)

Direct lighting only

VXGI

Voxel indirect lighting visualization
Showcase

LPV + HBAO

VXGI

LPV + HBAO

VXGI

LPV + HBAO

VXGI