37
A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

Embed Size (px)

Citation preview

Page 1: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

A Real Time Radiosity Architecture for Video Games

Sam Martin, Per Einarsson

Geomerics, DICE

Page 2: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

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

Page 3: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

Agenda

• Enlighten– Overview– Architectural Features

• Frostbite– Overview – Pipelines– Demo

• Summary / Questions

Page 4: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

Overview: Goals And Trade-offs

• XBox360, PS3, Multi-core PCsTarget current consoles

• Cost and quality must be scalableFlexible toolkit, not fixed solution

• Cannot sacrifice VQ for real timeMaintain visual quality

• Physically based but controllable“Believability” over accuracy

Page 5: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

Four Key Architectural Features

1. Separate lighting pipeline

2. Single bounce with feedback

3. Lightmap output

4. Relighting from target geometry

Page 6: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

“Arches”

Page 7: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

Enlighten Pipeline

Precompute

• Decompose scene into systems• Project detail geometry to target geometry for relighting• Distill target shape for real time radiosity

Runtime

• Render direct lighting as usual (GPU)• Asynchronously generate radiosity (CPU)• Combine direct and indirect shading on GPU

Page 8: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

Runtime Lighting Pipeline

On target mesh

On detail mesh + indirect specular

Standard lighting

Point-sampled input to Enlighten

PointSpotDirectionalEnvironmentAreaUser-specified

+ radiosity from previous frame

Direct Light Sources

Final GPU composite

Page 9: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

Direct Lighting

Page 10: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

Point Sampled Direct Lighting

Page 11: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

Enlighten Output (Target)

Page 12: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

Enlighten Output (Detail)

Page 13: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

Final Composite

Page 14: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

Model single bounce with feedback

Bounce feedback scale = 1.0 Bounce feedback scale = 0.0

Page 15: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

Enlighten Lightmap Output

106 x 106 texels90% coverage “Directional

Irradiance”

“Spherical”

Page 16: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

Target Geometry

Has simple UV surface area

Tri count not important

Various authoring options

Page 17: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

Detail Geometry

UVs generated by projection

No additional lighting data

“Off-axis” lighting comes from directional data in lightmap

Does not interact with radiosity

Page 18: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

Example UV Projection

Page 19: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

Recap: Architectural Features

1. Separate lighting pipeline

2. Single bounce with feedback

3. Lightmap output

4. Relighting from target geometry

Page 20: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

Agenda

• Enlighten– Quick overview, Key decisions, The future

• Frostbite– Motivation– Pipeline– Runtime– Demo

• QA?

Page 21: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

Motivation

• Why real-time radiosity in Frostbite?

- Workflows and iteration times

- Dynamic environments

- Flexible architecture

Page 22: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

Precompute pipeline

1. Classify static and dynamic objects

2. Generate radiosity systems

3. Parametrize static geometry

4. Generate runtime data

Page 23: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

1. Static & dynamic geometry

• Static objects receive and bounce light- Uses dynamic lightmaps

• Dynamic object only receive light- Samples lighting from lightprobes

Mesh classification Underlying geometry Transferred lightingInput scene

Page 24: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

2. Radiosity systems

• Processed and updated in parallel • Input dependencies control light transport• Used for radiosity granularity

Systems Input dependencies

Page 25: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

3. Parametrization

Automatic uv projection System atlases

• Static meshes uses target geometry- Target geometry is used to compute radiosity- Project detail mesh onto target mesh to get uvs

• Systems packed into separate uv atlases

Page 26: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

4. Runtime data generation

Distributed precompute pipeline generates runtime datasets for dynamic radiosity updates

• One dataset per system (streaming friendly)• Distributed precompute with Incredibuild’s XGI• Data dependent on geometry only (not light or albedo)•

Page 27: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

Rendering

• Separate direct light / radiosity pipeline- CPU: radiosity

- GPU: direct light & compositing

• Frostbite uses deferred rendering- All lights can bounce dynamic radiosity

• Separate lightmap / lightprobe rendering- Lighmaps rendered in forward pass

- Lightprobes added to 3D textures and rendered deferred

Page 28: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

Runtime pipeline

1) Radiosity pass (CPU) Update indirect lightmaps & lightprobes Lift lightprobes into 3D textures

2) Geometry pass (GPU) Add indirect lightmaps to separate g-buffer Use stencil buffer to mask out dynamic objects

3) Light pass (GPU) Render deferred light sources Add lightmaps from g-buffer Add lightprobes from 3D textures

Page 29: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

Direct lightingRadiosity

Page 30: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

Direct light

Page 31: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

Lightmaps

Page 32: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

Lightprobes

Page 33: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

Final composite

Page 34: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

Demo

Page 36: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE

Bonus Extras! Enlighten Future

• Replace lightmaps?• Shift more towards data parallel?• Incremental update vs fixed cost?• Split lighting integral by distance?

Owner
I'm unsure about this slide. Maybe cut or move to 'extra slides'.Per - any thoughts?
Page 37: A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE