Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
THE DEVIL IS IN THE DETAILS
Initial Requirements










Anatomy of a Frame
Frame Cost










Data Structure for Lighting & Shading









Preparing Clustered Structure




 𝑍𝑆𝑙𝑖𝑐𝑒 = 𝑁𝑒𝑎𝑟𝑧 × (
𝐹𝑎𝑟𝑧
𝑁𝑒𝑎𝑟𝑧
)
𝑠𝑙𝑖𝑐𝑒
𝑛𝑢𝑚 𝑠𝑙𝑖𝑐𝑒𝑠




Preparing Clustered Structure






//Pseudo-code - 1 job per depth slice ( if any item )
for ( y = MinY; y < MaxY; ...
Preparing Clustered Structure













Preparing Clustered Structure
Preparing Clustered Structure
Detailing the World









Detailing the World












Detailing the World

 𝑒0 𝑒1


const float4 albedo = tex2Dgrad( decalsAtlas, uv.xy * scaleBias.xy + scaleBias.zw, uvDDX...
Detailing the World










Detailing the World
Detailing the World
Detailing the World
Detailing the World
Detailing the World
Detailing the World
Lighting










Lighting
//Pseudocode
ComputeLighting( inputs, outputs ) {
Read & Pack base textures
for each decal in cell {
early out fr...
Lighting












Lighting










Lighting


Lighting

 




 



Transparents






Particle Lighting










Decoupled Particle Lighting










Decoupled Particle Lighting
//Pseudocode – Particle shading becomes something like this
Particles( inputs, outputs ) {
…
c...
Decoupled Particle Lighting









Particle Light Atlas
Decoupled Particle Lighting

Post-Process
Optimizing Data Fetching ( GCN )








Clustered Lighting Access Patterns
Clustered Lighting Access Patterns
Clustered Lighting Access Patterns
Clustered Lighting Access Patterns
Analyzing the Data







Leveraging Access Patterns










Thread X A B D
Thread Y B C E
Thread Z A C D E
Scalar A B C D E
Special Paths











Dynamic Resolution Scaling









Async Post Processing









GCN Wave Limits Tuning







GCN Register Usage









What’s next ?







Special Thanks








We are Hiring !
Thank you





References














Bonus Slides
Lighting















Deferred Passes








Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666
Siggraph2016 - The Devil is in the Details: idTech 666
Upcoming SlideShare
Loading in …5
×

of

Siggraph2016 - The Devil is in the Details: idTech 666 Slide 1 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 2 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 3 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 4 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 5 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 6 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 7 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 8 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 9 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 10 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 11 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 12 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 13 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 14 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 15 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 16 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 17 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 18 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 19 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 20 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 21 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 22 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 23 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 24 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 25 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 26 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 27 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 28 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 29 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 30 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 31 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 32 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 33 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 34 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 35 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 36 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 37 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 38 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 39 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 40 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 41 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 42 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 43 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 44 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 45 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 46 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 47 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 48 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 49 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 50 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 51 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 52 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 53 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 54 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 55 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 56 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 57 Siggraph2016 - The Devil is in the Details: idTech 666 Slide 58
Upcoming SlideShare
Graphics Gems from CryENGINE 3 (Siggraph 2013)
Next
Download to read offline and view in fullscreen.

8 Likes

Share

Download to read offline

Siggraph2016 - The Devil is in the Details: idTech 666

Download to read offline

A behind-the-scenes look into the latest renderer technology powering the critically acclaimed DOOM. The lecture will cover how technology was designed for balancing a good visual quality and performance ratio. Numerous topics will be covered, among them details about the lighting solution, techniques for decoupling costs frequency and GCN specific approaches.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Siggraph2016 - The Devil is in the Details: idTech 666

  1. 1. THE DEVIL IS IN THE DETAILS
  2. 2. Initial Requirements          
  3. 3. Anatomy of a Frame Frame Cost          
  4. 4. Data Structure for Lighting & Shading         
  5. 5. Preparing Clustered Structure      𝑍𝑆𝑙𝑖𝑐𝑒 = 𝑁𝑒𝑎𝑟𝑧 × ( 𝐹𝑎𝑟𝑧 𝑁𝑒𝑎𝑟𝑧 ) 𝑠𝑙𝑖𝑐𝑒 𝑛𝑢𝑚 𝑠𝑙𝑖𝑐𝑒𝑠    
  6. 6. Preparing Clustered Structure       //Pseudo-code - 1 job per depth slice ( if any item ) for ( y = MinY; y < MaxY; ++y ) { for ( x = MinX; x < MaxX; ++x ) { intersects = N planes vs cell AABB if ( intersects ) { Register item } } }
  7. 7. Preparing Clustered Structure             
  8. 8. Preparing Clustered Structure
  9. 9. Preparing Clustered Structure
  10. 10. Detailing the World         
  11. 11. Detailing the World            
  12. 12. Detailing the World   𝑒0 𝑒1   const float4 albedo = tex2Dgrad( decalsAtlas, uv.xy * scaleBias.xy + scaleBias.zw, uvDDX, uvDDY ); 𝑒 𝑒 𝑒 𝑒0 𝑥 𝑒1 𝑥 2 𝑥 𝑥 𝑒0 𝑦 𝑒1 𝑦 2 𝑦 𝑦 𝑒0 𝑧 𝑒1 𝑧 2 𝑧 𝑧 0 0 0 1 0.5 𝑠𝑖𝑧𝑒𝑋 0 0 0.5 0 0.5 𝑠𝑖𝑧𝑒𝑌 0 0.5 0 0 0.5 𝑠𝑖𝑧𝑒𝑍 0.5 0 0 0 1 ∙
  13. 13. Detailing the World          
  14. 14. Detailing the World
  15. 15. Detailing the World
  16. 16. Detailing the World
  17. 17. Detailing the World
  18. 18. Detailing the World
  19. 19. Detailing the World
  20. 20. Lighting          
  21. 21. Lighting //Pseudocode ComputeLighting( inputs, outputs ) { Read & Pack base textures for each decal in cell { early out fragment check Read textures Blend results } for each light in cell { early out fragment check Compute BRDF / Apply Shadows Accumulate lighting } }
  22. 22. Lighting            
  23. 23. Lighting          
  24. 24. Lighting  
  25. 25. Lighting            
  26. 26. Transparents      
  27. 27. Particle Lighting          
  28. 28. Decoupled Particle Lighting          
  29. 29. Decoupled Particle Lighting //Pseudocode – Particle shading becomes something like this Particles( inputs, outputs ) { … const float3 lighting = tex2D( particleAtlas, inputs.texcoord ); result = lighting * inputs.albedo; … }
  30. 30. Decoupled Particle Lighting          Particle Light Atlas
  31. 31. Decoupled Particle Lighting 
  32. 32. Post-Process
  33. 33. Optimizing Data Fetching ( GCN )        
  34. 34. Clustered Lighting Access Patterns
  35. 35. Clustered Lighting Access Patterns
  36. 36. Clustered Lighting Access Patterns
  37. 37. Clustered Lighting Access Patterns
  38. 38. Analyzing the Data       
  39. 39. Leveraging Access Patterns           Thread X A B D Thread Y B C E Thread Z A C D E Scalar A B C D E
  40. 40. Special Paths           
  41. 41. Dynamic Resolution Scaling         
  42. 42. Async Post Processing         
  43. 43. GCN Wave Limits Tuning       
  44. 44. GCN Register Usage         
  45. 45. What’s next ?       
  46. 46. Special Thanks      
  47. 47.   We are Hiring !
  48. 48. Thank you     
  49. 49. References              
  50. 50. Bonus Slides
  51. 51. Lighting               
  52. 52. Deferred Passes        
  • KatherineWatts9

    Nov. 23, 2021
  • ssuser4453bc

    Mar. 15, 2021
  • ssuser36c81e

    Dec. 17, 2020
  • ChesterAbrahams

    Aug. 10, 2020
  • ChristopherPearson31

    Oct. 1, 2018
  • mybeko3

    Mar. 28, 2018
  • YazKhabiri

    Apr. 10, 2017
  • Procedural

    Aug. 11, 2016

A behind-the-scenes look into the latest renderer technology powering the critically acclaimed DOOM. The lecture will cover how technology was designed for balancing a good visual quality and performance ratio. Numerous topics will be covered, among them details about the lighting solution, techniques for decoupling costs frequency and GCN specific approaches.

Views

Total views

5,849

On Slideshare

0

From embeds

0

Number of embeds

81

Actions

Downloads

122

Shares

0

Comments

0

Likes

8

×