Академический Документы
Профессиональный Документы
Культура Документы
Radiosity Architecture
Hot topic: real time radiosity
Research focus on algorithms
Several popular categories of algorithm
Architecture
Structure surrounding the algorithm
Use case: Integration in Frostbite 2
Agenda
Enlighten
Overview
Architectural Features
Frostbite
Overview
Pipelines
Demo
Summary / Questions
Arches
Enlighten Pipeline
Decompose scene into systems
Project detail geometry to target geometry for
Precomp relighting
ute
Distill target shape for real time radiosity
Render direct lighting as usual (GPU)
Asynchronously generate radiosity (CPU)
Runtime Combine direct and indirect shading on GPU
Point
Spot
Directional
Environment
Area
User-specified
Standard lighting
On target mesh
+ radiosity from
previous frame
Direct Light
Sources
On detail mesh
+ indirect specular
Direct Lighting
Final Composite
Spherical
Directional
Irradiance
Target Geometry
Detail Geometry
Example UV Projection
Agenda
Enlighten
Quick overview, Key decisions, The future
Frostbite
Motivation
Pipeline
Runtime
Demo
QA?
Motivation
Why real-time radiosity in Frostbite?
- Workflows and iteration times
- Dynamic environments
- Flexible architecture
Precompute pipeline
1.
2.
3.
4.
Input scene
Mesh classification
Underlying geometry
Transferred lighting
2. Radiosity systems
Processed and updated in parallel
Input dependencies control light transport
Used for radiosity granularity
Systems
Input dependencies
3. Parametrization
Static meshes uses target geometry
- Target geometry is used to compute radiosity
- Project detail mesh onto target mesh to get uvs
Automatic uv projection
System atlases
Distributed precompute pipeline generates runtime datasets for dynamic radiosity updates
Rendering
Separate direct light / radiosity pipeline
- CPU: radiosity
- GPU: direct light & compositing
Runtime pipeline
1) Radiosity pass (CPU)
Direct
lighting
Radiosity
Direct light
Lightmaps
Lightprobes
Final composite
Demo
Summary / Questions?
Thanks!
per.einarsson@dice.se
sam.martin@geomerics.com
Replace lightmaps?
Shift more towards data parallel?
Incremental update vs fixed cost?
Split lighting integral by distance?