Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE."— Presentation transcript:

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

2 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

3 Agenda Enlighten –Overview –Architectural Features Frostbite –Overview –Pipelines –Demo Summary / Questions

4 Overview: Goals And Trade-offs XBox360, PS3, Multi-core PCs Target current consoles Cost and quality must be scalable Flexible toolkit, not fixed solution Cannot sacrifice VQ for real time Maintain visual quality Physically based but controllable Believability over accuracy

5 Four Key Architectural Features 1.Separate lighting pipeline 2.Single bounce with feedback 3.Lightmap output 4.Relighting from target geometry

6 Arches

7 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

8 Runtime Lighting Pipeline On target mesh On detail mesh + indirect specular Standard lighting Point-sampled input to Enlighten Point Spot Directional Environment Area User-specified + radiosity from previous frame Direct Light Sources Final GPU composite

9 Direct Lighting

10 Point Sampled Direct Lighting

11 Enlighten Output (Target)

12 Enlighten Output (Detail)

13 Final Composite

14 Model single bounce with feedback Bounce feedback scale = 1.0 Bounce feedback scale = 0.0

15 Enlighten Lightmap Output 106 x 106 texels 90% coverage Directional Irradiance Spherical

16 Target Geometry Has simple UV surface area Tri count not important Various authoring options

17 Detail Geometry UVs generated by projection No additional lighting data Off-axis lighting comes from directional data in lightmap Does not interact with radiosity

18 Example UV Projection

19 Recap: Architectural Features 1.Separate lighting pipeline 2.Single bounce with feedback 3.Lightmap output 4.Relighting from target geometry

20 Agenda Enlighten –Quick overview, Key decisions, The future Frostbite –Motivation –Pipeline –Runtime –Demo QA?

21 Motivation Why real-time radiosity in Frostbite? - Workflows and iteration times - Dynamic environments - Flexible architecture

22 Precompute pipeline 1.Classify static and dynamic objects 2.Generate radiosity systems 3.Parametrize static geometry 4.Generate runtime data

23 1. Static & dynamic geometry Static objects receive and bounce light - Uses dynamic lightmaps Dynamic object only receive light - Samples lighting from lightprobes Mesh classificationUnderlying geometry Transferred lighting Input scene

24 2. Radiosity systems Processed and updated in parallel Input dependencies control light transport Used for radiosity granularity SystemsInput dependencies

25 3. Parametrization Automatic uv projectionSystem 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

26 4. Runtime data generation Distributed precompute pipeline generates runtime datasets for dynamic radiosity updates One dataset per system (streaming friendly) Distributed precompute with Incredibuilds XGI Data dependent on geometry only (not light or albedo)

27 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

28 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

29 Direct lighting Radiosity

30 Direct light

31 Lightmaps

32 Lightprobes

33 Final composite

34 Demo

35 Summary / Questions? Thanks!

36 Bonus Extras! Enlighten Future Replace lightmaps? Shift more towards data parallel? Incremental update vs fixed cost? Split lighting integral by distance?

37


Download ppt "A Real Time Radiosity Architecture for Video Games Sam Martin, Per Einarsson Geomerics, DICE."

Similar presentations


Ads by Google