Physically Based Shading in Real Time Rendering. Christian Schüler MBL Development. Introduction. Who’s me? Veteran: Engine programming since 15 years Several shipped games Doing “serious” work now but still love games. Introduction. Physically Based Shading Solves some real problems
01 / 92Physically Based Shading in Real Time Rendering
1 / 17
Télécharger la présentation
Physically Based Shading in Real Time Rendering
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation
Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement.Téléchargez la présentation en cliquant sur ce lien.Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.
Introduction • Who’s me? • Veteran: Engine programming since 15 years • Several shipped games • Doing “serious” work now but still love games
Introduction • Physically Based Shading • Solves some real problems • Can make authoring easier • Can improve looks • Feels as the “right” way to do things • Is going to be implemented in more and more engines
Introduction • Ingredients for Physically Based Shading • Linear Lighting • Energy Preserving Specular • Metals + Dielectrics • Fresnel Reflectance • Image Based Reflections • Microfacet Models
Introduction • Ingredients for Physically Based Shading • Linear Lighting • Energy Preserving Specular • Metals + Dielectrics • Fresnel Reflectance • Image Based Reflections • Microfacet Models will talk about these today important for content creation
Introduction • Ingredients for Physically Based Shading • Linear Lighting • Energy Preserving Specular • Metals + Dielectrics • Fresnel Reflectance • Image Based Reflections • Microfacet Models programmers and shader authors worry about these
PBS Ingredients → Display Gamma and Linear Lighting • RGB values are not linear. This is important for— • Distance and falloff curves • Addition of Lights • Addition of Colors(diffuse + specular) no color shift
PBS Ingredients → Display Gamma and Linear Lighting effect begins early • RGB values are not linear. This is important for— • Distance and falloff curves • Addition of Lights • Addition of Colors(diffuse + specular) • Addition of Colors(atmospheric effects) bright details still visible
color shift falloff, gradient too soft color shift and clipping PBS Ingredients → Display Gamma and Linear Lighting • Counter-Example: • Not done with linear lighting • Classic “computer” look
PBS Ingredients → Display Gamma and Linear Lighting • Further reading • Blogshttp://filmicgames.com/archives/category/gamma • Unrealhttp://udn.epicgames.com/Three/TexturingGuidelines.html • CryEnginehttp://freesdk.crydev.net/display/SDKDOC4/Gamma-Correct+Rendering+(sRGB) • Unityhttp://docs.unity3d.com/Documentation/Manual/LinearLighting.html
rough low glossiness smooth high glossiness PBS Ingredients → Energy Preserving Specular http://en.wikipedia.org/wiki/File:Frost_patterns_4.jpg
2009 Per pixel varying glossiness for wet vs dry effect Velvet Assassin PBS Ingredients → Energy Preserving Specular
glossiness texture alpha channel of specular map 2009 Per pixel varying glossiness for wet vs dry effect Velvet Assassin PBS Ingredients → Energy Preserving Specular
Blinn/Phong diffuse color opacity specular color specular power Texture color alpha PBS Ingredients → Energy Preserving Specular • First try:
Blinn/Phong diffuse color opacity specular color specular power Texture color alpha PBS Ingredients → Energy Preserving Specular 0 ... 1 0 ... infinity ? • What about the parameterization? • What are meaningful values to put into a texture?
Blinn/Phong diffuse color opacity specular color specular power Texture color alpha exponential function PBS Ingredients → Energy Preserving Specular 0 ... 1 1 ... 4096 • What about the parameterization? • What are meaningful values to put into a texture?
low gloss high gloss PBS Ingredients → Energy Preserving Specular • In reality, the size of a highlight is linked with its peak brightness. • This is the Energy Preservation bit.
dependency PBS Ingredients → Energy Preserving Specular glossiness specular color • Workflow hazard: Glossiness channel and specular color channel become dependent on one another!
Blinn/Phong diffuse color opacity specular color specular power multiplier Texture color alpha exponential function ? PBS Ingredients → Energy Preserving Specular • Solution: Break the dependency! • Shader must scale specular color automatically.
integral normalization factor PBS Ingredients → Energy Preserving Specular • This multiplier is called the normalization factor. • Can be computed from a hemispherical integral. • Several possibilities, see references.
normalization factor Blinn/Phong diffuse color opacity specular color specular power Texture color alpha exponential function n+1 2 PBS Ingredients → Energeticgy Conserving Specular • It starts to get somewhat messy.
normalization factor Blinn/Phong diffuse color opacity specular color specular power Texture color alpha exponential function n+1 2 PBS Ingredients → Energeticgy Conserving Specular • Why not call that a new kind of material?
normalized Blinn/Phong diffuse color opacity specular color glossiness Texture color alpha PBS Ingredients → Energy Preserving Specular • Enter the normalized Blinn/Phong material. • Accepts a glossiness parameter in the range 0 to 1. • Automatic scale of specular color.
Texture color alpha normalized Blinn/Phong diffuse color opacity specular color glossiness Texture color alpha PBS Ingredients → Energy Preserving Specular • Neat side effect: • Completely parameterized by two RGBA textures.
PBS Ingredients → Energy Preserving Specular • Further reading • Blogshttp://www.rorydriscoll.com/2009/01/25/energy-conservation-in-games/http://seblagarde.wordpress.com/2011/08/17/hello-world/http://www.thetenthplanet.de/archives/255 • Unrealhttp://udn.epicgames.com/Three/ImageBasedReflections.html • CryEnginehttp://freesdk.crydev.net/display/SDKDOC4/Shading
PBS Ingredients • PBS Ingredient #3Metals and Non-Metals • aka: “can set diffuse color to zero without everything else messed up”
PBS Ingredients • PBS Ingredient #3Metals and Non-Metals • aka: “can set diffuse color to zero without everything else messed up”= no need for an extra “metal shader” (helps batching)
Are metals “somehow grey”? PBS Ingredients → Metals and Dielectrics • Assignment: • What is the difference between metals and non-metals?
Are metals “especially shiny”? PBS Ingredients → Metals and Dielectrics • Assignment: • What is the difference between metals and non-metals?
But surely they have “lots of specular”? PBS Ingredients → Metals and Dielectrics • Assignment: • What is the difference between metals and non-metals?
metal non-grey non-metal low glossiness metal low glossiness non-metal high glossiness PBS Ingredients → Metals and Dielectrics metal high glossiness
non-metaldiffuse + specular PBS Ingredients → Metals and Dielectrics metal specular only • Metals are pure reflection, • characterized by the absence of a diffuse component.
PBS Ingredients → Metals and Dielectrics • Specular reflection happens on the surface incoming light specular reflection more or less glossy surface more or less smooth
PBS Ingredients → Metals and Dielectrics • This is still specular reflection incoming light specular reflection all over the place surface extremely rough 100% specular
PBS Ingredients → Metals and Dielectrics • Diffuse reflection happens below the surface • Completely different physical process incoming light diffuse reflection absorption and re-emission molecules
PBS Ingredients → Metals and Dielectrics • Diffuse reflection happens below the surface • Completely different physical process incoming light diffuse reflection absorption and re-emission 100% diffuse (no solid surface at all) molecules
Connexion au compte
Connectez-vous pour publier votre contenu sur SlideServe.