SlideShare une entreprise Scribd logo
1  sur  57
Télécharger pour lire hors ligne
Deferred Rendering
in Dying Light
Agenda
Deferred shading - why?
G-Buffer
Questions?
Deferred shading - why?
Deferred shading - why?
>250K objects
Deferred shading - why?
>250K objects
Multiple materials
Deferred shading - why?
>250K objects
Multiple materials
Thousands of lights
Deferred shading - why?
>250K objects
Multiple materials
Thousands of lights
Day-night cycle
Deferred shading - why?
>250K objects
Multiple materials
Thousands of lights
Day-night cycle
Changing weather
Deferred shading - why?
Deferred Shading vs Forward Rendering
● Separated scene and lighting rendering
SCENE
Deferred shading - why?
Deferred Shading vs Forward Rendering
● Separated scene and lighting rendering
○ G-Buffer
SCENE
Deferred Shading vs Forward Rendering
● Separated scene and lighting rendering
○ G-Buffer
● Improved lighting rendering performance
○ Scene complexity independency
Deferred shading - why?
Deferred Shading vs Forward Rendering
● Separated scene and lighting rendering
○ G-Buffer
● Improved lighting rendering performance
○ Scene complexity independency
○ Object material & geometry complexity independency
Deferred shading - why?
Deferred shading - why?
Deferred Shading vs Forward Rendering
● Separated scene and lighting rendering
○ G-Buffer
● Improved lighting rendering performance
○ Scene complexity independency
○ Object material & geometry complexity independency
● Simpler rendering pipeline
○ Easy light handling
Deferred shading - why?
Deferred Shading vs Forward Rendering
● Separated scene and lighting rendering
○ G-Buffer
● Improved lighting rendering performance
○ Scene complexity independency
○ Object material & geometry complexity independency
● Simpler rendering pipeline
○ Easy light handling
○ No material-light litght shader combinations
Deferred shading - why?
Not only lights
● Complex materials
● Scene overdraw
● Consistency
● Lighting model independency
● Deferred Linear Space
Deferred shading - why?
Not only lights
● Complex materials
● Scene overdraw
● Consistency
● Lighting model independency
● Deferred Linear Space
Deferred shading - why?
Not only lights
● Complex materials
● Scene overdraw
● Consistency
● Lighting model independency
● Deferred Linear Space
Deferred shading - why?
Not only lights
● Complex materials
● Scene overdraw
● Consistency
● Lighting model independency
● Deferred Linear Space
Deferred shading - why?
Not only lights
● Complex materials
● Scene overdraw
● Consistency
● Lighting model independency
● Deferred Linear Space
G-Buffer
G-Buffer
Limitations
X Y Z W
R G B A
Z-Buffer
G-Buffer
Limitations
X Y Z W
R G B A
G-Buffer
Limitations
Needs (PBR)
X Y Z W
R G B A
Normal (XYZ)
Specular (RGB)
Diffuse (RGB)
Roughness
Human Skin Translucency Leaves
G-Buffer
How?
X Y Z W
R G B A
Normal (XYZ)
Specular (RGB)
Diffuse (RGB)
Roughness
Human Skin Translucency Leaves
?
G-Buffer
How?
Solutions
● Lower resolution
X Y Z W
R G B A
Normal (XYZ)
Specular (RGB)
Diffuse (RGB)
Roughness
Human Skin Translucency Leaves
?
G-Buffer
How?
Solutions
● Lower resolution
● Spherical Normals
X Y Z W
R G B A
Normal (XYZ)
Specular (RGB)
Diffuse (RGB)
Roughness
Human Skin Translucency Leaves
?
G-Buffer
How?
Solutions
● Lower resolution
● Spherical Normals
● YUV
X Y Z W
R G B A
Normal (XYZ)
Specular (RGB)
Diffuse (RGB)
Roughness
Human Skin Translucency Leaves
?
G-Buffer
How?
Solutions
● Lower resolution
● Spherical Normals
● YUV
● ?
X Y Z W
R G B A
Normal (XYZ)
Specular (RGB)
Diffuse (RGB)
Roughness
Human Skin Translucency Leaves
?
G-Buffer
● Specular & Diffuse
G-Buffer
● Specular & Diffuse
● PBR Materials
○ Metals
○ Dielectrics
Specular Diffuse
Metals
bright
colorful
black
Dielectrics
dark
monochromatic
full range
colorful
G-Buffer
● Specular & Diffuse
● PBR Materials
○ Metals
○ Dielectrics
● Conclusions
○ Metals needs only RGB
○ Dielectrics needs only RGB + Gray
○ Non-overlaping ranges
Specular Diffuse
Metals
bright
colorful
black
Dielectrics
dark
monochromatic
full range
colorful
G-Buffer
● Specular & Diffuse
● PBR Materials
○ Metals
○ Dielectrics
● Conclusions
○ Metals needs only RGB
○ Dielectrics needs only RGB + Gray
○ Non-overlaping ranges
● PBR needs (real)
Specular Diffuse
Metals
bright
colorful
black
Dielectrics
dark
monochromatic
full range
colorful
RGB Alpha
Metal specular color 0 (black)
Dielectric diffuse color Dielectric specular
G-Buffer
● Specular & Diffuse
● PBR Materials
○ Metals
○ Dielectrics
● Conclusions
○ Metals needs only RGB
○ Dielectrics needs only RGB + Gray
○ Non-overlaping ranges
● PBR needs (real)
○ Lossless
Specular Diffuse
Metals
bright
colorful
black
Dielectrics
dark
monochromatic
full range
colorful
RGB Alpha
Metal specular color 0 (black)
Dielectric diffuse color Dielectric specular
G-Buffer
● Encoding
rgb = dielectric ? diffuse.rgb : specular.rgb
alpha = dielectric ? specular.g : 0.0
G-Buffer
● Encoding
rgb = dielectric ? diffuse.rgb : specular.rgb
alpha = dielectric ? specular.g : 0.0
● Decoding
Specular = (alpha > 0.0) ? alpha : rgb;
Diffuse = (alpha > 0.0) ? rgb : 0.0;
G-Buffer
Specular & Diffuse
Normal (XYZ)
Specular (RGB)
Diffuse (RGB)
Roughness
Human Skin Translucency Leaves
G-Buffer
Specular & Diffuse
Normal (XYZ)
Specular/Diffuse (RGB) Specular (SD)
Roughness
Human Skin Translucency Leaves
G-Buffer
Specular & Diffuse
Roughness
Normal (XYZ)
Specular/Diffuse (RGB) Specular (SD)
Roughness
Human Skin Translucency Leaves
G-Buffer
Specular & Diffuse
Roughness
Masks
● subsurface scattering
● dielectrics only
● binary values
● exclusive
Normal (XYZ) Roughness
Specular/Diffuse (RGB) Specular (SD)
Human Skin Translucency Leaves
G-Buffer
Diffuse/Specular alpha channel - human skin
Normal (XYZ) Roughness
Specular/Diffuse (RGB) Specular (SD)
Human Skin Translucency Leaves
G-Buffer
Diffuse/Specular alpha channel - human skin
M Dielectric Specular
0 1 255
G-Buffer
Diffuse/Specular alpha channel - human skin
M Dielectric Specular H
0 1 254 255
G-Buffer
Diffuse/Specular alpha channel - translucency
● simple subsurface scattering
M Dielectric Specular H
0 1 254 255
G-Buffer
Diffuse/Specular alpha channel - translucency
● simple subsurface scattering
● varying specular
M Dielectric Specular H
0 1 254 255
G-Buffer
Diffuse/Specular alpha channel - translucency
● simple subsurface scattering
● varying specular
● signed format?
M Dielectric Specular H
0 1 254 255
G-Buffer
Diffuse/Specular alpha channel - translucency
● simple subsurface scattering
● varying specular
● signed format?
● encoding/decoding - single mad instruction (alpha * 2.0 - 1.0)
H Translucent Dielectric Specular M M Dielectric Specular H
0 1 126 127 128 129 254 255
-1.0 0.0 1.0
G-Buffer
Diffuse/Specular alpha channel - translucency
● simple subsurface scattering
● varying specular
● signed format?
● encoding/decoding - single mad instruction (alpha * 2.0 - 1.0)
● encoded specular inversion - abs()
H Translucent Dielectric Specular M M Dielectric Specular H
0 1 max min 126 127 128 129 min max 254 255
-1.0 0.0 1.0
G-Buffer
Diffuse/Specular alpha channel - leaves
● simplified lighting for tree crowns
H Translucent Dielectric Specular M M Dielectric Specular H
0 1 max min 126 127 128 129 min max 254 255
-1.0 0.0 1.0
G-Buffer
Diffuse/Specular alpha channel - leaves
● simplified lighting for tree crowns
● no specular
H Translucent Dielectric Specular M M Dielectric Specular H
0 1 max min 126 127 128 129 min max 254 255
-1.0 0.0 1.0
G-Buffer
Diffuse/Specular alpha channel - leaves
L Translucent Dielectric Specular M M Dielectric Specular H
0 1 max min 126 127 128 129 min max 254 255
-1.0 0.0 1.0
Final layout (almost)
Normal (XYZ) Roughness
Specular/Diffuse (RGB) M/SD/H/T/L
G-Buffer
G-Buffer
Final layout
Normal (XYZ) M/SD/H/T/L
Specular/Diffuse (RGB) Roughness
G-Buffer
Final layout - summary
● simple (en)coding
Normal (XYZ) M/SD/H/T/L
Specular/Diffuse (RGB) Roughness
G-Buffer
Final layout - summary
● simple (en)coding
● slim
Normal (XYZ) M/SD/H/T/L
Specular/Diffuse (RGB) Roughness
G-Buffer
Final layout - summary
● simple (en)coding
● slim
● lossless
Normal (XYZ) M/SD/H/T/L
Specular/Diffuse (RGB) Roughness
G-Buffer
Final layout - summary
● simple (en)coding
● slim
● lossless
● PBR correct
Normal (XYZ) M/SD/H/T/L
Specular/Diffuse (RGB) Roughness
Questions?

Contenu connexe

Tendances

Rendering Tech of Space Marine
Rendering Tech of Space MarineRendering Tech of Space Marine
Rendering Tech of Space MarinePope Kim
 
Screen Space Reflections in The Surge
Screen Space Reflections in The SurgeScreen Space Reflections in The Surge
Screen Space Reflections in The SurgeMichele Giacalone
 
Triangle Visibility buffer
Triangle Visibility bufferTriangle Visibility buffer
Triangle Visibility bufferWolfgang Engel
 
Penner pre-integrated skin rendering (siggraph 2011 advances in real-time r...
Penner   pre-integrated skin rendering (siggraph 2011 advances in real-time r...Penner   pre-integrated skin rendering (siggraph 2011 advances in real-time r...
Penner pre-integrated skin rendering (siggraph 2011 advances in real-time r...JP Lee
 
Approaching zero driver overhead
Approaching zero driver overheadApproaching zero driver overhead
Approaching zero driver overheadCass Everitt
 
Low-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil PerssonLow-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil PerssonAMD Developer Central
 
Stable SSAO in Battlefield 3 with Selective Temporal Filtering
Stable SSAO in Battlefield 3 with Selective Temporal FilteringStable SSAO in Battlefield 3 with Selective Temporal Filtering
Stable SSAO in Battlefield 3 with Selective Temporal FilteringElectronic Arts / DICE
 
Physically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in FrostbitePhysically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in FrostbiteElectronic Arts / DICE
 
Forward+ (EUROGRAPHICS 2012)
Forward+ (EUROGRAPHICS 2012)Forward+ (EUROGRAPHICS 2012)
Forward+ (EUROGRAPHICS 2012)Takahiro Harada
 
Secrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologyTiago Sousa
 
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)Johan Andersson
 
The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)
The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)
The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)Philip Hammer
 
Dissecting the Rendering of The Surge
Dissecting the Rendering of The SurgeDissecting the Rendering of The Surge
Dissecting the Rendering of The SurgePhilip Hammer
 
Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Graham Wihlidal
 
Rendering Techniques in Rise of the Tomb Raider
Rendering Techniques in Rise of the Tomb RaiderRendering Techniques in Rise of the Tomb Raider
Rendering Techniques in Rise of the Tomb RaiderEidos-Montréal
 
Crysis 2-key-rendering-features
Crysis 2-key-rendering-featuresCrysis 2-key-rendering-features
Crysis 2-key-rendering-featuresRaimundo Renato
 
Rendering AAA-Quality Characters of Project A1
Rendering AAA-Quality Characters of Project A1Rendering AAA-Quality Characters of Project A1
Rendering AAA-Quality Characters of Project A1Ki Hyunwoo
 

Tendances (20)

Rendering Tech of Space Marine
Rendering Tech of Space MarineRendering Tech of Space Marine
Rendering Tech of Space Marine
 
Screen Space Reflections in The Surge
Screen Space Reflections in The SurgeScreen Space Reflections in The Surge
Screen Space Reflections in The Surge
 
Triangle Visibility buffer
Triangle Visibility bufferTriangle Visibility buffer
Triangle Visibility buffer
 
Penner pre-integrated skin rendering (siggraph 2011 advances in real-time r...
Penner   pre-integrated skin rendering (siggraph 2011 advances in real-time r...Penner   pre-integrated skin rendering (siggraph 2011 advances in real-time r...
Penner pre-integrated skin rendering (siggraph 2011 advances in real-time r...
 
Approaching zero driver overhead
Approaching zero driver overheadApproaching zero driver overhead
Approaching zero driver overhead
 
Low-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil PerssonLow-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil Persson
 
Frostbite on Mobile
Frostbite on MobileFrostbite on Mobile
Frostbite on Mobile
 
Stable SSAO in Battlefield 3 with Selective Temporal Filtering
Stable SSAO in Battlefield 3 with Selective Temporal FilteringStable SSAO in Battlefield 3 with Selective Temporal Filtering
Stable SSAO in Battlefield 3 with Selective Temporal Filtering
 
Physically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in FrostbitePhysically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in Frostbite
 
Forward+ (EUROGRAPHICS 2012)
Forward+ (EUROGRAPHICS 2012)Forward+ (EUROGRAPHICS 2012)
Forward+ (EUROGRAPHICS 2012)
 
Secrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics Technology
 
Stochastic Screen-Space Reflections
Stochastic Screen-Space ReflectionsStochastic Screen-Space Reflections
Stochastic Screen-Space Reflections
 
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
 
The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)
The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)
The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)
 
Dissecting the Rendering of The Surge
Dissecting the Rendering of The SurgeDissecting the Rendering of The Surge
Dissecting the Rendering of The Surge
 
Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016
 
Rendering Techniques in Rise of the Tomb Raider
Rendering Techniques in Rise of the Tomb RaiderRendering Techniques in Rise of the Tomb Raider
Rendering Techniques in Rise of the Tomb Raider
 
Crysis 2-key-rendering-features
Crysis 2-key-rendering-featuresCrysis 2-key-rendering-features
Crysis 2-key-rendering-features
 
Bending the Graphics Pipeline
Bending the Graphics PipelineBending the Graphics Pipeline
Bending the Graphics Pipeline
 
Rendering AAA-Quality Characters of Project A1
Rendering AAA-Quality Characters of Project A1Rendering AAA-Quality Characters of Project A1
Rendering AAA-Quality Characters of Project A1
 

Similaire à Deferred Rendering Techniques in Dying Light

Deferred shading
Deferred shadingDeferred shading
Deferred shadingFrank Chao
 
The rendering technology of 'lords of the fallen' philip hammer
The rendering technology of 'lords of the fallen'   philip hammerThe rendering technology of 'lords of the fallen'   philip hammer
The rendering technology of 'lords of the fallen' philip hammerMary Chan
 
Abalanche - Unity Shader Graph #1: Shader & PBR Materials
Abalanche - Unity Shader Graph #1: Shader & PBR MaterialsAbalanche - Unity Shader Graph #1: Shader & PBR Materials
Abalanche - Unity Shader Graph #1: Shader & PBR MaterialsPhuong Hoang Vu
 
Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...
Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...
Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...Mark Kilgard
 
LED research. final.pptx
LED research. final.pptxLED research. final.pptx
LED research. final.pptxAnthonyHakim4
 
Develop2012 deferred sanchez_stachowiak
Develop2012 deferred sanchez_stachowiakDevelop2012 deferred sanchez_stachowiak
Develop2012 deferred sanchez_stachowiakMatt Filer
 
Unity: Next Level Rendering Quality
Unity: Next Level Rendering QualityUnity: Next Level Rendering Quality
Unity: Next Level Rendering QualityUnity Technologies
 
Spatial Sound 4: Getting the Best Surround Around
Spatial Sound 4: Getting the Best Surround AroundSpatial Sound 4: Getting the Best Surround Around
Spatial Sound 4: Getting the Best Surround AroundRichard Elen
 
Ambisonics: Getting the Best Surround Around
Ambisonics: Getting the Best Surround AroundAmbisonics: Getting the Best Surround Around
Ambisonics: Getting the Best Surround AroundRichard Elen
 
Matrix New World offices
Matrix New World officesMatrix New World offices
Matrix New World officesJozhe Fonseca
 
Io 3d product overview 2013 07 en
Io 3d product overview 2013 07 enIo 3d product overview 2013 07 en
Io 3d product overview 2013 07 enJavier Martín
 

Similaire à Deferred Rendering Techniques in Dying Light (13)

Deferred shading
Deferred shadingDeferred shading
Deferred shading
 
The rendering technology of 'lords of the fallen' philip hammer
The rendering technology of 'lords of the fallen'   philip hammerThe rendering technology of 'lords of the fallen'   philip hammer
The rendering technology of 'lords of the fallen' philip hammer
 
Inferred lighting
Inferred lightingInferred lighting
Inferred lighting
 
Abalanche - Unity Shader Graph #1: Shader & PBR Materials
Abalanche - Unity Shader Graph #1: Shader & PBR MaterialsAbalanche - Unity Shader Graph #1: Shader & PBR Materials
Abalanche - Unity Shader Graph #1: Shader & PBR Materials
 
Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...
Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...
Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...
 
LED research. final.pptx
LED research. final.pptxLED research. final.pptx
LED research. final.pptx
 
Develop2012 deferred sanchez_stachowiak
Develop2012 deferred sanchez_stachowiakDevelop2012 deferred sanchez_stachowiak
Develop2012 deferred sanchez_stachowiak
 
Unity: Next Level Rendering Quality
Unity: Next Level Rendering QualityUnity: Next Level Rendering Quality
Unity: Next Level Rendering Quality
 
Light prepass
Light prepassLight prepass
Light prepass
 
Spatial Sound 4: Getting the Best Surround Around
Spatial Sound 4: Getting the Best Surround AroundSpatial Sound 4: Getting the Best Surround Around
Spatial Sound 4: Getting the Best Surround Around
 
Ambisonics: Getting the Best Surround Around
Ambisonics: Getting the Best Surround AroundAmbisonics: Getting the Best Surround Around
Ambisonics: Getting the Best Surround Around
 
Matrix New World offices
Matrix New World officesMatrix New World offices
Matrix New World offices
 
Io 3d product overview 2013 07 en
Io 3d product overview 2013 07 enIo 3d product overview 2013 07 en
Io 3d product overview 2013 07 en
 

Dernier

Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptrcbcrtm
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 

Dernier (20)

Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Odoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting ServiceOdoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting Service
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.ppt
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 

Deferred Rendering Techniques in Dying Light

  • 2. Agenda Deferred shading - why? G-Buffer Questions?
  • 4. Deferred shading - why? >250K objects
  • 5. Deferred shading - why? >250K objects Multiple materials
  • 6. Deferred shading - why? >250K objects Multiple materials Thousands of lights
  • 7. Deferred shading - why? >250K objects Multiple materials Thousands of lights Day-night cycle
  • 8. Deferred shading - why? >250K objects Multiple materials Thousands of lights Day-night cycle Changing weather
  • 9. Deferred shading - why? Deferred Shading vs Forward Rendering ● Separated scene and lighting rendering SCENE
  • 10. Deferred shading - why? Deferred Shading vs Forward Rendering ● Separated scene and lighting rendering ○ G-Buffer SCENE
  • 11. Deferred Shading vs Forward Rendering ● Separated scene and lighting rendering ○ G-Buffer ● Improved lighting rendering performance ○ Scene complexity independency Deferred shading - why?
  • 12. Deferred Shading vs Forward Rendering ● Separated scene and lighting rendering ○ G-Buffer ● Improved lighting rendering performance ○ Scene complexity independency ○ Object material & geometry complexity independency Deferred shading - why?
  • 13. Deferred shading - why? Deferred Shading vs Forward Rendering ● Separated scene and lighting rendering ○ G-Buffer ● Improved lighting rendering performance ○ Scene complexity independency ○ Object material & geometry complexity independency ● Simpler rendering pipeline ○ Easy light handling
  • 14. Deferred shading - why? Deferred Shading vs Forward Rendering ● Separated scene and lighting rendering ○ G-Buffer ● Improved lighting rendering performance ○ Scene complexity independency ○ Object material & geometry complexity independency ● Simpler rendering pipeline ○ Easy light handling ○ No material-light litght shader combinations
  • 15. Deferred shading - why? Not only lights ● Complex materials ● Scene overdraw ● Consistency ● Lighting model independency ● Deferred Linear Space
  • 16. Deferred shading - why? Not only lights ● Complex materials ● Scene overdraw ● Consistency ● Lighting model independency ● Deferred Linear Space
  • 17. Deferred shading - why? Not only lights ● Complex materials ● Scene overdraw ● Consistency ● Lighting model independency ● Deferred Linear Space
  • 18. Deferred shading - why? Not only lights ● Complex materials ● Scene overdraw ● Consistency ● Lighting model independency ● Deferred Linear Space
  • 19. Deferred shading - why? Not only lights ● Complex materials ● Scene overdraw ● Consistency ● Lighting model independency ● Deferred Linear Space
  • 21. G-Buffer Limitations X Y Z W R G B A Z-Buffer
  • 23. G-Buffer Limitations Needs (PBR) X Y Z W R G B A Normal (XYZ) Specular (RGB) Diffuse (RGB) Roughness Human Skin Translucency Leaves
  • 24. G-Buffer How? X Y Z W R G B A Normal (XYZ) Specular (RGB) Diffuse (RGB) Roughness Human Skin Translucency Leaves ?
  • 25. G-Buffer How? Solutions ● Lower resolution X Y Z W R G B A Normal (XYZ) Specular (RGB) Diffuse (RGB) Roughness Human Skin Translucency Leaves ?
  • 26. G-Buffer How? Solutions ● Lower resolution ● Spherical Normals X Y Z W R G B A Normal (XYZ) Specular (RGB) Diffuse (RGB) Roughness Human Skin Translucency Leaves ?
  • 27. G-Buffer How? Solutions ● Lower resolution ● Spherical Normals ● YUV X Y Z W R G B A Normal (XYZ) Specular (RGB) Diffuse (RGB) Roughness Human Skin Translucency Leaves ?
  • 28. G-Buffer How? Solutions ● Lower resolution ● Spherical Normals ● YUV ● ? X Y Z W R G B A Normal (XYZ) Specular (RGB) Diffuse (RGB) Roughness Human Skin Translucency Leaves ?
  • 30. G-Buffer ● Specular & Diffuse ● PBR Materials ○ Metals ○ Dielectrics Specular Diffuse Metals bright colorful black Dielectrics dark monochromatic full range colorful
  • 31. G-Buffer ● Specular & Diffuse ● PBR Materials ○ Metals ○ Dielectrics ● Conclusions ○ Metals needs only RGB ○ Dielectrics needs only RGB + Gray ○ Non-overlaping ranges Specular Diffuse Metals bright colorful black Dielectrics dark monochromatic full range colorful
  • 32. G-Buffer ● Specular & Diffuse ● PBR Materials ○ Metals ○ Dielectrics ● Conclusions ○ Metals needs only RGB ○ Dielectrics needs only RGB + Gray ○ Non-overlaping ranges ● PBR needs (real) Specular Diffuse Metals bright colorful black Dielectrics dark monochromatic full range colorful RGB Alpha Metal specular color 0 (black) Dielectric diffuse color Dielectric specular
  • 33. G-Buffer ● Specular & Diffuse ● PBR Materials ○ Metals ○ Dielectrics ● Conclusions ○ Metals needs only RGB ○ Dielectrics needs only RGB + Gray ○ Non-overlaping ranges ● PBR needs (real) ○ Lossless Specular Diffuse Metals bright colorful black Dielectrics dark monochromatic full range colorful RGB Alpha Metal specular color 0 (black) Dielectric diffuse color Dielectric specular
  • 34. G-Buffer ● Encoding rgb = dielectric ? diffuse.rgb : specular.rgb alpha = dielectric ? specular.g : 0.0
  • 35. G-Buffer ● Encoding rgb = dielectric ? diffuse.rgb : specular.rgb alpha = dielectric ? specular.g : 0.0 ● Decoding Specular = (alpha > 0.0) ? alpha : rgb; Diffuse = (alpha > 0.0) ? rgb : 0.0;
  • 36. G-Buffer Specular & Diffuse Normal (XYZ) Specular (RGB) Diffuse (RGB) Roughness Human Skin Translucency Leaves
  • 37. G-Buffer Specular & Diffuse Normal (XYZ) Specular/Diffuse (RGB) Specular (SD) Roughness Human Skin Translucency Leaves
  • 38. G-Buffer Specular & Diffuse Roughness Normal (XYZ) Specular/Diffuse (RGB) Specular (SD) Roughness Human Skin Translucency Leaves
  • 39. G-Buffer Specular & Diffuse Roughness Masks ● subsurface scattering ● dielectrics only ● binary values ● exclusive Normal (XYZ) Roughness Specular/Diffuse (RGB) Specular (SD) Human Skin Translucency Leaves
  • 40. G-Buffer Diffuse/Specular alpha channel - human skin Normal (XYZ) Roughness Specular/Diffuse (RGB) Specular (SD) Human Skin Translucency Leaves
  • 41. G-Buffer Diffuse/Specular alpha channel - human skin M Dielectric Specular 0 1 255
  • 42. G-Buffer Diffuse/Specular alpha channel - human skin M Dielectric Specular H 0 1 254 255
  • 43. G-Buffer Diffuse/Specular alpha channel - translucency ● simple subsurface scattering M Dielectric Specular H 0 1 254 255
  • 44. G-Buffer Diffuse/Specular alpha channel - translucency ● simple subsurface scattering ● varying specular M Dielectric Specular H 0 1 254 255
  • 45. G-Buffer Diffuse/Specular alpha channel - translucency ● simple subsurface scattering ● varying specular ● signed format? M Dielectric Specular H 0 1 254 255
  • 46. G-Buffer Diffuse/Specular alpha channel - translucency ● simple subsurface scattering ● varying specular ● signed format? ● encoding/decoding - single mad instruction (alpha * 2.0 - 1.0) H Translucent Dielectric Specular M M Dielectric Specular H 0 1 126 127 128 129 254 255 -1.0 0.0 1.0
  • 47. G-Buffer Diffuse/Specular alpha channel - translucency ● simple subsurface scattering ● varying specular ● signed format? ● encoding/decoding - single mad instruction (alpha * 2.0 - 1.0) ● encoded specular inversion - abs() H Translucent Dielectric Specular M M Dielectric Specular H 0 1 max min 126 127 128 129 min max 254 255 -1.0 0.0 1.0
  • 48. G-Buffer Diffuse/Specular alpha channel - leaves ● simplified lighting for tree crowns H Translucent Dielectric Specular M M Dielectric Specular H 0 1 max min 126 127 128 129 min max 254 255 -1.0 0.0 1.0
  • 49. G-Buffer Diffuse/Specular alpha channel - leaves ● simplified lighting for tree crowns ● no specular H Translucent Dielectric Specular M M Dielectric Specular H 0 1 max min 126 127 128 129 min max 254 255 -1.0 0.0 1.0
  • 50. G-Buffer Diffuse/Specular alpha channel - leaves L Translucent Dielectric Specular M M Dielectric Specular H 0 1 max min 126 127 128 129 min max 254 255 -1.0 0.0 1.0
  • 51. Final layout (almost) Normal (XYZ) Roughness Specular/Diffuse (RGB) M/SD/H/T/L G-Buffer
  • 52. G-Buffer Final layout Normal (XYZ) M/SD/H/T/L Specular/Diffuse (RGB) Roughness
  • 53. G-Buffer Final layout - summary ● simple (en)coding Normal (XYZ) M/SD/H/T/L Specular/Diffuse (RGB) Roughness
  • 54. G-Buffer Final layout - summary ● simple (en)coding ● slim Normal (XYZ) M/SD/H/T/L Specular/Diffuse (RGB) Roughness
  • 55. G-Buffer Final layout - summary ● simple (en)coding ● slim ● lossless Normal (XYZ) M/SD/H/T/L Specular/Diffuse (RGB) Roughness
  • 56. G-Buffer Final layout - summary ● simple (en)coding ● slim ● lossless ● PBR correct Normal (XYZ) M/SD/H/T/L Specular/Diffuse (RGB) Roughness