1 / 51

Realtime global illumination and reflections in Dust 514

Realtime global illumination and reflections in Dust 514. On the PS3, in 1080p. Hugh Malan / CCP Newcastle. Motivation. Motivation. Results. The basic idea. Reflection term. Indirect term. Ideal. Environment. Realtime. Requirements for Dust 514. Layers. Layers.

dallon
Download Presentation

Realtime global illumination and reflections in Dust 514

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Realtime global illumination and reflections in Dust 514 On the PS3, in 1080p. Hugh Malan / CCP Newcastle

  2. Motivation

  3. Motivation

  4. Results

  5. The basic idea

  6. Reflection term

  7. Indirect term Ideal Environment Realtime

  8. Requirements for Dust 514

  9. Layers

  10. Layers

  11. Raytracing the heightfield

  12. Ray bias

  13. Heightfield refinement

  14. Heightfield refinement

  15. Heightfield refinement

  16. Heightfield refinement

  17. Heightfield refinement

  18. The entire trace procedure • Compute up/down biased ray vectors • Sample packed heightfield at ray origin • Compute intersection point for each layer • Compute mip bias for each layer • Sample the four layer textures and sky texture • Composite the results to produce an up and down color • Sky, ceiling, bridge below • Floor, bridge above • Blend up/down colors based on query ray direction

  19. Refinements • Timeslice layer update • Reuse CSM for shadows • Fadeout at edges • Quantized movement

  20. Walls

  21. Summary + Provides universal indirect term + Provides universal reflection term with variable blur + Fast - Can’t support scenes with arbitrary height complexity - In general, can’t cope with walls and vertical surfaces - Dynamic objects won’t contribute to indirect or reflection - Limited reflection quality

  22. Multiple projections

  23. 1920x1080, with AA

  24. Background

  25. More background

  26. More background

  27. More background

  28. The last of the background stuff For each pixel in the final image… • Is that part of the image static or changing? • If it’s static, blend in the current render • If it’s changing, immediately show the current render

  29. Upscaling

  30. Upscaling

  31. Upscaling

  32. Accumulated and low-res images

  33. Triple buffering with two buffers

  34. Static or changing?

  35. Accumulation step

  36. Abrupt change

  37. Results

  38. Results

  39. Improvements with more budget • Motion blur • Better static vs changing decision; eganalyze a larger neighbourhood • Better AA for abrupt change case, eg FXAA

  40. Thanks to… • Anders Caspersson • Chris McClure • Dominic Goulding • Halldor Fannar • Lee Clark • Richard Smith

  41. ?

  42. Bonus slides!

  43. Heightfield refinement details half4 incremental_heightfield_update( float2 curr_uv, sampler2D last_heightfield, sampler2D raw_heightfield_from_scene, half enforced_gradient) { half new_height=tex2D(raw_heightfield_from_scene, curr_uv)).r; for(float2 direction in +X, -X, +Y, -Y) { for(float step_distancein 1, 4) { float2 query_uv=curr_uv+(direction*step_distance); new_height=max(new_height, old_height(query_uv).r-step_distance*enforced_gradient); } } return new_height; }

  44. Area lights and shadows

  45. Greater height complexity

  46. Space distortion for folding walls

  47. Post-projection transform calibration

More Related