system with global illumination physically-based real-time ... · resource summary (2) unreal...
TRANSCRIPT
![Page 1: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/1.jpg)
Physically-based Real-time Shading System with Global Illumination
VU Entwurf und Programmierung einer Rendering-Engine
Christian Luksch
![Page 2: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/2.jpg)
Motivation
Unreal Paris, http://www.benoitdereau.com/
![Page 3: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/3.jpg)
Motivation
GTA V
![Page 4: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/4.jpg)
Motivation
Unity, Cities Skyline
![Page 5: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/5.jpg)
Overview● Scene Content Definition
○ Physically plausible materials○ Physical light source description
● Putting Everything Together○ Shading System○ Solving complexity
● Global Illumination○ Baking○ Real-time
![Page 6: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/6.jpg)
Rendering System
Scene
Materials LightsGeometries
Global Illumination
Lightmaps
Light Probes
Real-time Shading
SSAO
PCSS
SSSCSM
GGXIBL VCT HDR
Camera
![Page 7: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/7.jpg)
Need for a BRDF● Bidirectional Reflectance Distribution Function
○ Gives ratio of incoming to outgoing radiance over the hemisphere○ Unit: sr-1 (solid angle)
● Short:
![Page 8: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/8.jpg)
BRDF in Rendering Equation● Sum up all incoming radiance (evaluated recursively)
- weighted by projected area- weighted by BRDF
![Page 9: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/9.jpg)
What BRDF Model?● Phong (1975)● Blinn-Phong (1977)● Cook-Torrance (1981)● Ward (1992)● Oren-Nayar (1995)● Lafortune (1997)● GGX (2007)● Kurt (2010)● SGD (2012)● ...
![Page 10: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/10.jpg)
Requirements for Material Model● Physically plausible
○ Energy conservation○ Reciprocity
● Flexibility○ Wide range of materials
● Easy to use○ Meaningful parameters○ Not possible to violate
energy conservation
https://docs.unrealengine.com/latest/INT/Engine/Rendering/Materials/PhysicallyBased/index.html
![Page 11: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/11.jpg)
The Physics Behind Shading
Physics and Math of Shading, Naty Hoffman, SIGGRAPH Physically Based Shading Course 2010
![Page 12: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/12.jpg)
Reflection & Refraction
Physics and Math of Shading, Naty Hoffman, SIGGRAPH Physically Based Shading Course 2010
● Fresnel Equations○ Ratio of reflected and refracted light
● Law of Reflection○ Angle of incidence = angle of reflection
● Snell’s Law○ Ratio of sines of incidence and refraction
direction = ratio of refractive indices
![Page 13: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/13.jpg)
Microgeometry
Physics and Math of Shading, Naty Hoffman, SIGGRAPH Physically Based Shading Course 2010
![Page 14: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/14.jpg)
Macroscopic View
Physics and Math of Shading, Naty Hoffman, SIGGRAPH Physically Based Shading Course 2010
![Page 15: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/15.jpg)
Metals
Physics and Math of Shading, Naty Hoffman, SIGGRAPH Physically Based Shading Course 2010
![Page 16: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/16.jpg)
Non-Metals (Insulators, Dielectric)
Physics and Math of Shading, Naty Hoffman, SIGGRAPH Physically Based Shading Course 2010
![Page 17: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/17.jpg)
Subsurface Scattering & Scale
Physics and Math of Shading, Naty Hoffman, SIGGRAPH Physically Based Shading Course 2010
![Page 18: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/18.jpg)
Subsurface Scattering & Scale
Physics and Math of Shading, Naty Hoffman, SIGGRAPH Physically Based Shading Course 2010
![Page 19: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/19.jpg)
Shading Terms
Physics and Math of Shading, Naty Hoffman, SIGGRAPH Physically Based Shading Course 2010
● Ignore entry-exit distance and shade at single point● Model reflection as “specular” and scattering as “diffuse” separately
![Page 20: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/20.jpg)
Deriving a BRDF● Apply microfacet theory for rough surfaces● Apply fresnel equations ● Define combination of “diffuse” and “specular”
![Page 21: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/21.jpg)
Microfacet Theory
Physics and Math of Shading, Naty Hoffman, SIGGRAPH Physically Based Shading Course 2010
● Facets with normal exactly “halfway” betweenl and v will reflect light toward the camera
![Page 22: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/22.jpg)
Half-Vector Based BRDFs
![Page 23: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/23.jpg)
Microfacet Theory
Physics and Math of Shading, Naty Hoffman, SIGGRAPH Physically Based Shading Course 2010
● Not all facets receive light -> shadowing● Not all facets are visible -> masking
![Page 24: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/24.jpg)
Microfacet BRDF
Physics and Math of Shading, Naty Hoffman, SIGGRAPH Physically Based Shading Course 2010
● Generalized Cook-Torrance shading model:
Original actually written with instead of 4
![Page 25: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/25.jpg)
Fresnel Term● Defines fraction of light reflected
○ Remaining part refracted/absorbed
● Depends on index of refraction IOR● IOR depends on wavelength
○ Strong distinction in metals
![Page 26: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/26.jpg)
Fresnel Term● Defines fraction of light reflected
○ Remaining part refracted/absorbed
● Depends on index of refraction IOR● IOR depends on wavelength
○ Strong distinction in metals
● Reflection at normal incidence
R0
![Page 27: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/27.jpg)
Fresnel Term● Schlick Approximation:
○ Substitute n by h when applied in microfacet BRDF
● R0 scalar for non-metals, RGB for metals
F(n, l) = R0 + (1 - R0) (1 - n·l)5
![Page 28: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/28.jpg)
Microfacet Distribution Term
Physics and Math of Shading, Naty Hoffman, SIGGRAPH Physically Based Shading Course 2010
● Also called Normal Distribution Function○ Gives probability of a microfacet oriented in a certain half-vector direction○ Microfacet normal h sometimes also referred to as m
● Defines shape/falloff of specular highlight○ Includes user parameter “Roughness”
● Normalized such as:
![Page 29: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/29.jpg)
Different NDFs● Blinn-Phong:
● Beckmann:
● Trowbridge-Reitz (GGX):
● Other: Exponential, ABC, SGD, ...
![Page 30: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/30.jpg)
Roughness
https://www.unrealengine.com/en-US/blog/physically-based-shading-in-ue4
![Page 31: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/31.jpg)
Comparison
Physically Based Shading at Disney, Brent Burley, SIGGRAPH Physically Based Shading Course 2012
● Left: Log-scale plots of specular peak vs h (degrees)○ black: chrome, green-blue: Beckmann/Blinn-Phong, red: GGX
● Right: point-light response from chrome
![Page 32: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/32.jpg)
Microfacet Distribution● Beckmann and Blinn-Phong quite similar (for low roughness)
○ Sharp specular highlight○ Plausible for a range of materials○ Used in various BRDFs (Ward, Cook-Torrance, Kurt, ...)
● GGX shows longer “tail”○ Long tail found in lots of materials○ Suited for high variety of materials○ Currently preferred distribution
![Page 33: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/33.jpg)
Geometry Term● Gives probability of microfacet
being shadowed or masked
● Combined with normalization also called Visibility Term V(l, v)○ Factors in denominator usually canceled
● Observations:○ Depending on microfacet distribution○ Shadow/Masking symmetrically
![Page 34: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/34.jpg)
Variety of Geometry Terms● Implicit V(l, v) = 1● Approximations
○ Cook-Torrance○ Kelemen-Szirmay-Kalos
● Derived from D(h)○ Smith: product of two functions
● Independent parameter○ Measured materials
![Page 35: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/35.jpg)
Shadow Masking OFF
Trend Reed, Physically Based Shading and Image Based Lighting, http://www.trentreed.net/
![Page 36: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/36.jpg)
Shadow Masking ON
Trend Reed, Physically Based Shading and Image Based Lighting, http://www.trentreed.net/
![Page 37: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/37.jpg)
Multiple Bounces?
Physics and Math of Shading, Naty Hoffman, SIGGRAPH Physically Based Shading Course 2015
![Page 38: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/38.jpg)
Puttying Specular BRDF togetherChoose G and D depending on preference
![Page 39: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/39.jpg)
Diffuse Term● Lambert Model
○ Equal scattering into all directions -> constant value○ cdiff reflection coefficient in linear RGB [0, 1]
● Oren-Nayar ○ Microfacet theory applied to diffuse scattering
![Page 40: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/40.jpg)
Combining Diffuse & Specular
● Actually only fraction of light not reflected by specular term can account for diffuse scattering
● Added Fresnel:
● Disney solution:
![Page 41: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/41.jpg)
Evaluating the BRDF● General Solution● Punctual Lights● Area Lights● Imaged-based Lighting● Ambient Lighting
![Page 42: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/42.jpg)
Resources● Real-time Rendering, 3rd Edition, Tomas Akenine-Moller● Physics and Math of Shading, Naty Hoffman, in SIGGRAPH Course Physically Based
Shading Models for Film and Game Production 2010http://renderwonk.com/publications/s2010-shading-course/
SIGGRAPH Shading Courses 2010 - 2017!
![Page 43: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/43.jpg)
Further Reading ● GGX, Beckmann, Blinn-Phong: Microfacet Models for Refraction through Rough Surfaces,
Bruce Walter, Stephen R. Marschner, Hongsong Li, Kenneth E. Torrance, EGSR 2007,http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.114.3036&rep=rep1&type=pdf
● Understanding the Masking-Shadowing Function in Microfacet-Based BRDFs, Eric Heitz, SIGGRAPH Course PBS 2014, JCGT 2014,Slides: http://blog.selfshadow.com/publications/s2014-shading-course/heitz/s2014_pbs_masking_shadowing_slides.pdfPaper: http://jcgt.org/published/0003/02/03/paper.pdf
![Page 44: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/44.jpg)
Material Workflows● Specular
○ Diffuse○ Glossiness / Smoothness○ Specular (Color / Strength)
● Metallic○ Albedo / BaseColor○ Metalness○ Roughness○ (Specular / Reflectance /
custom IOR)● Disney BRDF○ 10 Parameters
● Detail Textures○ Normal○ Displacement○ Ambient Occlusion / Cavity
![Page 45: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/45.jpg)
Specular Workflow● Specular
○ Diffuse○ Specular (Color / Strength)○ Glossiness / Smoothness
● Metallic○ Albedo/BaseColor○ Roughness○ Metaillicness○ AmbientOcclusion/Cavity○ Reflectance (tweak fresnel)
https://www.marmoset.co/posts/complex-material-setup/
![Page 46: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/46.jpg)
Glossiness
https://seblagarde.wordpress.com/2012/04/30/dontnod-specular-and-glossiness-chart/
![Page 47: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/47.jpg)
Specular
https://seblagarde.wordpress.com/2012/04/30/dontnod-specular-and-glossiness-chart/
![Page 48: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/48.jpg)
Metalness Workflow● Metallic
○ Albedo / BaseColor○ Metalness○ Roughness○ (Specular / Reflectance /
custom IOR)
https://www.marmoset.co/posts/physically-based-rendering-and-you-can-too/
![Page 49: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/49.jpg)
Base Color
https://seblagarde.wordpress.com/2014/04/14/dontnod-physically-based-rendering-chart-for-unreal-engine-4/
![Page 50: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/50.jpg)
Base Color
https://seblagarde.wordpress.com/2014/04/14/dontnod-physically-based-rendering-chart-for-unreal-engine-4/
![Page 51: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/51.jpg)
Base Color
https://seblagarde.wordpress.com/2014/04/14/dontnod-physically-based-rendering-chart-for-unreal-engine-4/
![Page 52: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/52.jpg)
Specular vs Metalness● Specular
○ Diffuse○ Glossiness / Smoothness○ Specular (Color / Strength)
● Metallic○ Albedo / BaseColor○ Metalness○ Roughness○ (Specular / Reflectance /
custom IOR)
![Page 53: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/53.jpg)
Additional Texture Maps● Normal & Displacement
Normal Displacement Normal & Displacement
● Possible inconsistencies with scale!
![Page 54: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/54.jpg)
Additional Texture Maps● Ambient Occlusion / Cavity
○ Visibility factor of environment when using image-based lighting○ Attenuation of specular reflection
Still depending on implementation!
![Page 55: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/55.jpg)
Material Workflow Conclusion● Few parameters - easy to use● Physically based workflow - consistency● Specular & Metalness - support both?● Need more? - Have a look at the Disney BRDF● Communicate how to use!
![Page 56: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/56.jpg)
Resource Summary (1)Sébastien Largade:
Feeding a physically based shading modelhttps://seblagarde.wordpress.com/2011/08/17/feeding-a-physical-based-lighting-mode/
Specular and Glossiness Chart (PBR with Blinn-Phong)https://seblagarde.wordpress.com/2012/04/30/dontnod-specular-and-glossiness-chart/
Physically based rendering chart (metalness workflow)https://seblagarde.wordpress.com/2014/04/14/dontnod-physically-based-rendering-chart-for-unreal-engine-4/
![Page 57: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/57.jpg)
Resource Summary (2)Unreal Engine 4 Manualhttps://docs.unrealengine.com/latest/INT/Engine/Rendering/Materials/PhysicallyBased/index.html
Allegorithmic Substance Designer: Practical guidelines for creating PBR texturehttps://www.allegorithmic.com/system/files/software/download/build/PBR_volume_02_rev05.pdf
Marmoset Toolbag: Physically-based rendering, and you can too!https://www.marmoset.co/posts/physically-based-rendering-and-you-can-too/
Physically-based shading at Disneyhttp://blog.selfshadow.com/publications/s2012-shading-course/burley/s2012_pbs_disney_brdf_slides_v2.pdf
![Page 58: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/58.jpg)
Light Sources● Punctual Light Sources
○ Point○ Spot○ Directional○ Photometric
● Area Light Sources○ Disk / Sphere○ Tube○ Rectangle○ Polygon
![Page 59: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/59.jpg)
Punctual Light Source Definition● Position / Orientation● Color / Temperature in Kelvin● Intensity
○ Luminous flux (lumen)○ Luminous intensity (cd)
Color Temperature / Wikipedia
![Page 60: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/60.jpg)
Punctual Light Source Definition● Position / Orientation● Color / Temperature in Kelvin● Intensity
○ Luminous flux (lumen)○ Luminous intensity (cd)
1 lm = 1 cd · srLight bulb 100W: 1400 lumen / 4pi = 111cd
Light Photometry
![Page 61: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/61.jpg)
Attenuation● Inverse-square law: Intensity is inversely proportional to the square of the
distance from the source
● Need to limit range in practice○ Solution in Unreal Engine 4:
○ Frostbite: same with different bias in denominator Wikipedia
![Page 62: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/62.jpg)
Punctual Light Source Evaluation● Light emission into direction● Attenuation● Visibility
○ E.g. Shadow Mapping
● BRDF
![Page 63: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/63.jpg)
Area Light Source Definition● Shape
○ Sphere / Disk○ Tube○ Rectangle○ Polygon
● Color / Temperature in Kelvin● Intensity / Luminance (cd/m²)
Frostbite
![Page 64: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/64.jpg)
Area Light Evaluation● Need approximation
○ Closed form: Le * f(v,l) * dot(l,n)
● Diffuse○ Most Representative Point○ Analytic Form Factor○ Structured Sampling
● Specular○ Specular D modification○ BRDF Widening○ Linear Transformed Cosines
Frostbite
![Page 65: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/65.jpg)
Area Light Evaluation● Need approximation
○ Closed form: Le * f(v,l) * dot(l,n)
● Diffuse○ Analytic Form Factor○ Most Representative Point○ Structured Sampling
● Specular○ Specular D modification○ BRDF Widening○ Linear Transformed Cosines
Frostbite
![Page 66: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/66.jpg)
Area Light Evaluation● Need approximation
○ Closed form: Le * f(v,l) * dot(l,n)
● Diffuse○ Analytic Form Factor○ Most Representative Point○ Structured Sampling
● Specular○ Specular D modification○ BRDF Widening○ Linear Transformed Cosines
Polygon Lights with Linearly Transformed Cosines, Heitz et al.https://eheitzresearch.wordpress.com/415-2/
![Page 67: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/67.jpg)
Resources● Moving Frostbite to Physically Based Rendering 3.0, Sébastien Lagarde, Charles de Rousiers,
SIGGRAPH 2014 Course: PBS in Theory and PraxisMaterials: https://seblagarde.wordpress.com/2015/07/14/siggraph-2014-moving-frostbite-to-physically-based-rendering/
● Real Shading in Unreal Engine 4, Brian Karis,SIGGRAPH 2013 Course: PBS in Theory and PraxisSlides: http://blog.selfshadow.com/publications/s2013-shading-course/karis/s2013_pbs_epic_slides.pdfNotes: http://blog.selfshadow.com/publications/s2013-shading-course/karis/s2013_pbs_epic_notes_v2.pdf
![Page 68: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/68.jpg)
Rendering System
Scene
Materials LightsGeometries
Global Illumination
Lightmaps
Light Probes
Real-time Shading
SSAO
PCSS
SSSCSM
GGXIBL VCT HDR
Camera
![Page 69: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/69.jpg)
Gamma● Calculate everything in a linear color space!
○ Textures/Output framebuffer usually sRGB with gamma 2.2○ Colors picked in UIs are usually also gamma 2.2○ Make sure cdiff and cspec shader uniforms are linear as well○ Use floating point textures for intermediate targets and stay in linear until output
● Use Hardware conversions○ sRGB texture format for textures and output framebuffers:
glTexImage2D(target, level, sRGB Format Here, w, h, 0, pf, pt, 0);
○ Enable sRGB framebuffer write: glEnable(GL_FRAMEBUFFER_SRGB);
![Page 70: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/70.jpg)
Dynamic Range
![Page 71: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/71.jpg)
Dynamic Range
![Page 72: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/72.jpg)
Tone Mapping● Map luminance values to display device
● Have a look at how cameras work○ Aperture, Shutter Time, Sensitivity
● Have a look at how human vision work
![Page 73: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/73.jpg)
Tone Mapping an Image● Measure average luminance of image
○ Relative luminance of pixel given by:
○ Logarithmic average suitable for stable result
● Apply global tone mapping operator○ Reinhard with user controlled key a:
![Page 74: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/74.jpg)
Quick Implementation (1)1. Map HDR color buffer to temporary buffer (might just be 512²)
2. Generate Mip-Levels
![Page 75: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/75.jpg)
Quick Implementation (2) 3. Tonemap HDR color buffer
Or even skip 1 & 2 and use manual exposure value
![Page 76: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/76.jpg)
Additional Resources● Real-time HDR Rendering, Christian Luksch
https://www.cg.tuwien.ac.at/research/publications/2007/Luksch_2007_RHR/
● Photographic tone reproduction for digital imagesErik Reinhard, Michael Stark, Peter Shirley, James Ferwerda, SIGGRAPH 2002http://www.cs.utah.edu/~reinhard/cdrom/tonemap.pdf
● A Closer Look At Tone Mapping, Matt Pettineohttps://mynameismjp.wordpress.com/2010/04/30/a-closer-look-at-tone-mapping/
● Moving Frostbite to Physically Based Rendering 3.0, Sébastien Lagarde, Charles de Rousiers, SIGGRAPH 2014 Course: PBS in Theory and Praxishttps://seblagarde.wordpress.com/2015/07/14/siggraph-2014-moving-frostbite-to-physically-based-rendering/
![Page 77: System with Global Illumination Physically-based Real-time ... · Resource Summary (2) Unreal Engine 4 Manual Allegorithmic Substance](https://reader035.vdocuments.net/reader035/viewer/2022081323/5aebbe1b7f8b9ae5318e1643/html5/thumbnails/77.jpg)
Rendering System
Scene
Materials LightsGeometries
Global Illumination
Lightmaps
Light Probes
Real-time Shading
SSAO
PCSS
SSSCSM
GGXIBL VCT HDR
Camera