SlideShare a Scribd company logo
1 of 92
Download to read offline
Advances in Real-Time Rendering in Games
Pre-integrated Skin Shading
            Eric Penner



       Advances in Real-Time Rendering in Games
Advances in Real-Time Rendering in Games
Overview
 Intro to SSS
 TSD Approaches to SSS
 Our Approach - Pre-Integrated Skin Shading
 Extra time? Two Tricks for character shadows
    Masked Variance Shadow Maps
    PCF2 using Pixel Quad Messages (16x depth samples)


                    Advances in Real-Time Rendering in Games
Subsurface Scattering - TSD
 Texture Space Diffusion (Borshukov et al.)




                     Advances in Real-Time Rendering in Games
Subsurface Scattering - TSD
 Texture Space Diffusion (Borshukov et al.)
 Gaussian Blur / Wrap lighting(Gosselin/Green)




                    Advances in Real-Time Rendering in Games
Subsurface Scattering - TSD
 Texture Space Diffusion (Borshukov et al.)
 Gaussian Blur / Wrap lighting(Gosselin/Green)
 Efficient Rendering of Human Skin (d’Eon et al.)




                    Advances in Real-Time Rendering in Games
Subsurface Scattering - TSD

 NVIDIA Human Head
   Gold standard for quality in real-time
   Helps to have high quality head scan




                      Advances in Real-Time Rendering in Games
Subsurface Scattering - TSD

 GPU Gems 3 - Diffusion Profile




                   Advances in Real-Time Rendering in Games
Subsurface Scattering - TSD

 GPU Gems 3 - Diffusion Profile




                   Advances in Real-Time Rendering in Games
Subsurface Scattering - TSD

 NVIDIA Human Head
   Gold standard for quality in real-time
   Lots of 10242 or 20482 maps
   Many Gaussian blur passes
 Take Home Messages
   Linear Lighting! Needs Good Spec! (multiple lobes)
   Skin diffusion is not Gaussian (two pass blur isn’t enough)
                      Advances in Real-Time Rendering in Games
Fast Subsurface Scattering

 Fast Subsurface Scattering                           float2 blurJitteredSamples[13] = {
                                                               { 0.000000, 0.000000 },
    ShaderX7 (Hable et al.)                                   { 1.633992, 0.036795 },
                                                               { 0.177801, 1.717593 },
    Make a custom jittered kernel                     ....
                                                               { -0.194906, 0.091094 },

                                                       };
    Unique weights for r/g/b
                                                       float3 blurJitteredWeights[13] = {
                                                               { 0.220441, 0.437000, 0.635000 },
                                                               { 0.076356, 0.064487, 0.039097 },
                                                               { 0.116515, 0.103222, 0.064912 },
                                                               { 0.064844, 0.086388, 0.062272 },
                                                       ....
                                                       };

                          Advances in Real-Time Rendering in Games
Fast Subsurface Scattering

 Fast Subsurface Scattering
    ShaderX7 (Hable et al.)
    Make a custom jittered kernel
    Unique weights for r/g/b




                                                                     Uncharted 2
                          Advances in Real-Time Rendering in Games
Fast Subsurface Scattering

 Remaining Problems
   Much better performance, but still expensive
   Doesn’t scale (10 heads/body-parts = 20 light-maps)
   Seams in UV space
   Light-map resolution
   Banding due to inadequate samples


                     Advances in Real-Time Rendering in Games
Screen Space SSS

 Screen-Space Subsurface Scattering(Jiminez et al.)
    Do the blur in screen-space
    More scalable, but high fixed cost
    Requires deferred renderer
    Adds many G-buffer channels
    Too many ‘S’s?


                      Advances in Real-Time Rendering in Games
Pre-Integrated Skin Shading

 Goal: A simple pixel shader
    All inputs stored locally in texture/bump maps (no blur passes)
 Key Observation:
    Scattering isn’t visible everywhere
    Occurs near changes in incident light (light gradients)
 Strategy:
    Find light gradients and pre-integrate scattering
                       Advances in Real-Time Rendering in Games
Constant incident light: Do nothing!




               Advances in Real-Time Rendering in Games
Small Surface Bumps




             Advances in Real-Time Rendering in Games
Small Surface Bumps




             Advances in Real-Time Rendering in Games
Shadows




          Advances in Real-Time Rendering in Games
Three Problems to Solve




              Advances in Real-Time Rendering in Games
Three Problems to Solve

       1.) Surface Curvature



       2.) Small Surface Bumps



       3.) Shadows

               Advances in Real-Time Rendering in Games
Three Problems to Solve

       1.) Surface Curvature




               Advances in Real-Time Rendering in Games
Curvature: Pre-Integrated BRDFs

 Diffuse Lambertian fall-off (dot(N,L))
    Causes incident light gradient
 Why not bake scattering in modified dot(N,L)?
    Wrap lighting (GPU Gems 1)
    ATI Skin Fall-Off
    Half-Life Fall-Off


                          Advances in Real-Time Rendering in Games
Curvature: Pre-Integrated BRDFs

 Problems with wrap lighting?
    Not based on real skin diffusion profiles
    Biggest problem: doesn’t account for curvature/thickness!




                       Advances in Real-Time Rendering in Games
Curvature: Pre-Integrated BRDFs

 Problem: Not based on real skin diffusion profile
 Solution: Pre-blur diffuse BRDF with skin profile




                    Advances in Real-Time Rendering in Games
Curvature: Pre-Integrated BRDFs

 Problem: Not based on real skin diffusion profile
 Solution: Pre-blur diffuse BRDF with skin profile

 Problem: Doesn’t account for surface curvature
 Solution: Parameterize BRDF with curvature




                    Advances in Real-Time Rendering in Games
Curvature: Pre-Integrated BRDFs

  How do we pre-integrate the diffuse BRDF?


Profile




                   Advances in Real-Time Rendering in Games
Curvature: Pre-Integrated BRDFs

  Integrate all incoming light on a sphere(or a ring, it’s easier)


Profile




                         Advances in Real-Time Rendering in Games
Curvature: Pre-Integrated BRDFs

 Let see look at some results!




                    Advances in Real-Time Rendering in Games
Curvature: Pre-Integrated BRDFs

   Wrap Lighting
   GPU Gems 1
   Gamma space lighting
   No tone-mapping




                      Advances in Real-Time Rendering in Games
Curvature: Pre-Integrated BRDF

   Wrap Lighting
   More recent (used today)
   Linear lighting
   Filming Tone-mapping




                      Advances in Real-Time Rendering in Games
Curvature: Pre-Integrated BRDF

   Wrap Lighting
   More recent (used today)
   Linear lighting
   Filming Tone-mapping

             B/G/R Cutoffs
           are clearly visible


                         Advances in Real-Time Rendering in Games
Curvature: Pre-Integrated BRDF

 Pre-integrated scattering
 Linear lighting
 Filmic tone-mapping




                    Advances in Real-Time Rendering in Games
Curvature: Pre-Integrated BRDF

 How does curvature help?




                  Advances in Real-Time Rendering in Games
Curvature: Pre-Integrated BRDF

 How does curvature help?
 Look at nose vs. forehead




                  Advances in Real-Time Rendering in Games
Curvature: Pre-Integrated BRDF

 Let’s decrease the size




                   Advances in Real-Time Rendering in Games
Curvature: Pre-Integrated BRDF

 Let’s decrease the size




                   Advances in Real-Time Rendering in Games
Curvature: Pre-Integrated BRDF

 Light scatters right through.
 Now let’s increase size




                    Advances in Real-Time Rendering in Games
Curvature: Pre-Integrated BRDF




              Advances in Real-Time Rendering in Games
Curvature: Pre-Integrated BRDF




              Advances in Real-Time Rendering in Games
Curvature: Pre-Integrated BRDF

 Flatter surfaces have less
  visible scattering




                       Advances in Real-Time Rendering in Games
Curvature: Pre-Integrated BRDF

 Now bake everything!




                  Advances in Real-Time Rendering in Games
Curvature: Pre-Integrated BRDF

 So where do we get curvature (1/radius)




                   Advances in Real-Time Rendering in Games
Curvature: Pre-Integrated BRDF

 So where do we get curvature (1/radius)
    Similar triangles and derivatives.




                       Advances in Real-Time Rendering in Games
Curvature: Pre-Integrated BRDF

 So where do we get curvature (1/radius)
    Similar triangles and derivatives.



                            c = length(fwidth(N)) /
                                   length(fwidth(pmm))




                       Advances in Real-Time Rendering in Games
Curvature: Pre-Integrated BRDF

 So where do we get curvature (1/radius)
    Similar triangles and derivatives.
 Derivatives are constant within a triangle
    Sometimes this is fine
    If edges appear, store curvature in vertices or texture




                       Advances in Real-Time Rendering in Games
Three Problems to Solve

       1.) Surface Curvature
              Pre-integrated curvature-based BRDF

       2.) Small Surface Bumps




               Advances in Real-Time Rendering in Games
Per-Channel Bent Normals

 BRDF works for smooth curvy surfaces
 What about small bumps in normal maps?
    Light should scatter past several surface bumps
    Using curvature breaks down at small sizes
 Let’s focus only on normals now



                      Advances in Real-Time Rendering in Games
Per-Channel Bent Normals

 With a normal map we can sample neighbourhood
    We could take many samples, light, weight and accumulate


 Or, can we pre-filter the normal map?
    Pre-filtering dot(N,L) is correct
    Pre-filtering max(0,dot(N,L)) isn’t strictly correct (but it’s close)
    LEAN/CLEAN mapping does this for specular
                          Advances in Real-Time Rendering in Games
Per-Channel Bent Normals

 Tangent:
   Normal maps can be acquired (Ma et al. 2007)
   One technique applies light gradients to capture normals
   Different light colours produced different captured normals




                      Advances in Real-Time Rendering in Games
Per-Channel Bent Normals




         Ma et al. 2007 - Rapid Acquisition of Specular and Diffuse Normal Maps

                     Advances in Real-Time Rendering in Games
Per-Channel Bent Normals




         Ma et al. 2007 - Rapid Acquisition of Specular and Diffuse Normal Maps

                     Advances in Real-Time Rendering in Games
Per-Channel Bent Normals




         Ma et al. 2007 - Rapid Acquisition of Specular and Diffuse Normal Maps

                     Advances in Real-Time Rendering in Games
Per-Channel Bent Normals




         Ma et al. 2007 - Rapid Acquisition of Specular and Diffuse Normal Maps

                     Advances in Real-Time Rendering in Games
Per-Channel Bent Normals

   We don’t need captured normals to use this technique
   Start with ‘true’ normal map (spec)
   Pre-filter new normal maps with R/G/B skin profiles
   Optimally we need 4 normals now
     R/G/B and Spec
     Looks great! Lots of memory!


                       Advances in Real-Time Rendering in Games
Bent Normals (Optimized)
A.) Use geometry and spec normals (blend the rest)
    Only works for certain art!
    Normal map must contain only details (wrinkles/pores)
B.) Use two normal samples (blend the rest)
    Works for all art!
    One normal-map, two samplers
    Clamp one sampler at blurred mip threshold

                          Advances in Real-Time Rendering in Games
Bent Normals - Results

  Without bent normals                        With bent normals




                  Advances in Real-Time Rendering in Games
Bent Normals - Results

 Now we have pretty good solutions for:
    Curvy but smooth surfaces (pre-integrated BRDF)
    Flat but bumpy surfaces (pre-integrated normal maps)
 These complement each other
 BRDF chosen from prevailing curvature (geometry)
    Broad scattering from dominant surface
 Bent normals fill in the gaps
    Fine-grained scattering of local details
                        Advances in Real-Time Rendering in Games
Three Problems to Solve

       1.) Surface Curvature
              Pre-integrated curvature-based BRDF

       2.) ‘Small’ Surface Bumps
              Pre-integrated bent normals

       3.) Shadows
              Pre-integrated shadow penumbrae
               Advances in Real-Time Rendering in Games
Shadows

 What about shadows?
 Shadows also give skin a characteristic look
 Seems more difficult:
    Shadows depend on arbitrary occluders
    Can fall anywhere on the surface




                      Advances in Real-Time Rendering in Games
Shadows

 Turns out we can apply a very similar technique
 Other approaches have used a texture lookup to mimic
  the look of skin(GDC 2005, Tatarchuk)
 In our work we apply the diffusion profiles




                       Advances in Real-Time Rendering in Games
Shadows

 Turns out we can apply a very similar technique
 This is the shadow from a box filter
S(x)




                   Advances in Real-Time Rendering in Games
Shadows

 Turns out we can apply a very similar technique
 This is the shadow from a box filter
S(x)
                                 Given the shadow value




                   Advances in Real-Time Rendering in Games
Shadows

 Turns out we can apply a very similar technique
 This is the shadow from a box filter
S(x)
                                     Given the shadow value
                                     Invert the penumbra blur function
              S-1(x)




                       Advances in Real-Time Rendering in Games
Shadows

 Turns out we can apply a very similar technique
 This is the shadow from a box filter
S(x)
                                     Given the shadow value
                                     Invert the penumbra blur function
              S-1(x)
                                     Find the position within the shadow



                       Advances in Real-Time Rendering in Games
Shadows

 Map to a smaller shadow with room for scattering




                   Advances in Real-Time Rendering in Games
Shadows

 Apply similar integration as our diffuse




                    Advances in Real-Time Rendering in Games
Shadows

 Pre-integrate for different penumbra size (eg. due to slope)




                      Advances in Real-Time Rendering in Games
Shadows

 Let’s look at some results compared to TSD




                   Advances in Real-Time Rendering in Games
Pre-
TSD
                      Integrated
      Advances in Real-Time Rendering in Games
Results




TSD        Advances in Real-Time Rendering in Games
Results




   Pre-
Integrated   Advances in Real-Time Rendering in Games
Results                                              Diffuse




          Advances in Real-Time Rendering in Games
Results                                              TSD




          Advances in Real-Time Rendering in Games
Results                                              Pre-Integrated




          Advances in Real-Time Rendering in Games
Shadows

 We need a wide penumbra to get lots of scattering
 We used two different shadow techniques

 In both cases it really helps to use extra shadow maps
    We can cheat: only render the head, not the whole scene
    Can be as low as 642 for one head (preferably 1282)



                       Advances in Real-Time Rendering in Games
Shadows - PCF

 1.) Pixel Quad Amortization (16 shadow map texels per sample!)
      Pixels are rendered in quads – quad pixels can share work!
      8x8 PCF in 4 samples!
      Requires Nvidia card (but DX11 ‘fine’ ddx/ddy might fix that)
      Tell me if you try it with DX11 hardware!!
      See GPU Pro 2 for details




                          Advances in Real-Time Rendering in Games
Shadows - VSMs

 2.) Masked Variance Shadow maps
     Render only the head into it’s own small variance shadow map
     ‘Background’ causes bad variance artifacts!
     Include an extra channel as background mask (eg. A2B10G10R10)
     Blur the variance shadow map and mask
     Correct variance sample to remove the background percentage
     Correct the shadow calculation accordingly
        Background percentage = not shadowed

                        Advances in Real-Time Rendering in Games
Filmic Tone-mapping

 All the images today use filmic tone-mapping
 Certain shots (eg. sunlight) need a lot of light
 Scattering occurs at the dark end of dynamic range
    If we try capture the bright light
    We invariably crush the darks into a small dynamic range
 In summary, we need high dynamic range!
 And a way to map it nicely to a LDR display

                       Advances in Real-Time Rendering in Games
Filmic Tone-mapping

 Kodak film
   response curves
 This is a nice
   approximation: (Hejl 2009)

x = max(0, LinearColor-0.004);
GammaColor = (x*(6.2*x+0.5))/
                      (x*(6.2*x+1.7)+0.06);



                                 Advances in Real-Time Rendering in Games
Filmic Tone-mapping

   Without filmic tonemap
   1x intensity
   Larger size
   Boring!




                     Advances in Real-Time Rendering in Games
Filmic Tone-mapping

 Without filmic tonemap
 4x intensity
 More interesting, but!

             Saturated
         (clamped to 1.0)


                                                               Less saturated
                    Advances in Real-Time Rendering in Games      blacks
Filmic Tone-mapping

 With filmic tonemap
 4x intensity




                                                              Saturated
                   Advances in Real-Time Rendering in Games    blacks
Filmic Tone-mapping

 Without filmic tonemap




                   Advances in Real-Time Rendering in Games
Filmic Tone-mapping

 With filmic tonemap




                   Advances in Real-Time Rendering in Games
Filmic Tone-mapping

 Digital cameras also have
  this problem!


 Left side is desired look
 Right side is blown out

 Film is much better
                    Advances in Real-Time Rendering in Games
Filmic Tone-mapping

 Varying size
  and intensity
  by powers of two




                                                                Still 251/255
                     Advances in Real-Time Rendering in Games
Pre-Integrated Skin Shading

 Future work:
      Approximate lookup textures with curve fitting
      Use additional axis of curvature in diffuse fall-off
      Include transmittance techniques
      When the detailed normal map gets blurred, we lose the small
       scattering effects from our normal map technique. Possibly we
       should bias the curvature lookup to account for this in the BRDF.




                           Advances in Real-Time Rendering in Games
Pre-Integrated Skin Shading

 Thanks to:
      George Borshukov
      Natalya Tatarchuk
      Google (where I work now)
      Everyone at Electronic Arts (where I used to work)




                           Advances in Real-Time Rendering in Games
Advances in Real-Time Rendering in Games
Curvature: Pre-Integrated BRDFs

  Integrate all incoming light on a sphere(or a ring, it’s easier)


Profile                  Oops! saturate(cos())!




                         Advances in Real-Time Rendering in Games

More Related Content

What's hot

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
 
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
 
Secrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologyTiago Sousa
 
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
 
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
 
An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...
An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...
An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...Codemotion
 
Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Tiago Sousa
 
Advancements in-tiled-rendering
Advancements in-tiled-renderingAdvancements in-tiled-rendering
Advancements in-tiled-renderingmistercteam
 
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...Unity Technologies
 
Star Ocean 4 - Flexible Shader Managment and Post-processing
Star Ocean 4 - Flexible Shader Managment and Post-processingStar Ocean 4 - Flexible Shader Managment and Post-processing
Star Ocean 4 - Flexible Shader Managment and Post-processingumsl snfrzb
 
A Bit More Deferred Cry Engine3
A Bit More Deferred   Cry Engine3A Bit More Deferred   Cry Engine3
A Bit More Deferred Cry Engine3guest11b095
 
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...Johan Andersson
 
SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3
SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3
SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3Electronic Arts / DICE
 

What's hot (20)

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
 
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
 
DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3
 
Secrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics Technology
 
Shiny PC Graphics in Battlefield 3
Shiny PC Graphics in Battlefield 3Shiny PC Graphics in Battlefield 3
Shiny PC Graphics in Battlefield 3
 
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
 
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
 
An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...
An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...
An introduction to Realistic Ocean Rendering through FFT - Fabio Suriano - Co...
 
Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)
 
Advancements in-tiled-rendering
Advancements in-tiled-renderingAdvancements in-tiled-rendering
Advancements in-tiled-rendering
 
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...
 
Star Ocean 4 - Flexible Shader Managment and Post-processing
Star Ocean 4 - Flexible Shader Managment and Post-processingStar Ocean 4 - Flexible Shader Managment and Post-processing
Star Ocean 4 - Flexible Shader Managment and Post-processing
 
The Unique Lighting of Mirror's Edge
The Unique Lighting of Mirror's EdgeThe Unique Lighting of Mirror's Edge
The Unique Lighting of Mirror's Edge
 
Stochastic Screen-Space Reflections
Stochastic Screen-Space ReflectionsStochastic Screen-Space Reflections
Stochastic Screen-Space Reflections
 
A Bit More Deferred Cry Engine3
A Bit More Deferred   Cry Engine3A Bit More Deferred   Cry Engine3
A Bit More Deferred Cry Engine3
 
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
 
SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3
SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3
SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3
 
Light prepass
Light prepassLight prepass
Light prepass
 
Hair in Tomb Raider
Hair in Tomb RaiderHair in Tomb Raider
Hair in Tomb Raider
 

Viewers also liked

CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介Drecom Co., Ltd.
 
Weighted Blended Order Independent Transparency
Weighted Blended Order Independent TransparencyWeighted Blended Order Independent Transparency
Weighted Blended Order Independent Transparencyzokweiron
 
Application parallelisation Android - Klaas Vangend
Application parallelisation Android - Klaas VangendApplication parallelisation Android - Klaas Vangend
Application parallelisation Android - Klaas Vangendナム-Nam Nguyễn
 
ACES 1.0 OpenColorIO config - Siggraph 2015
ACES 1.0 OpenColorIO config - Siggraph 2015ACES 1.0 OpenColorIO config - Siggraph 2015
ACES 1.0 OpenColorIO config - Siggraph 2015hpduiker
 
Aiming 開発ゲームの裏側
Aiming 開発ゲームの裏側Aiming 開発ゲームの裏側
Aiming 開発ゲームの裏側Katsutoshi Makino
 
Tabc vol3 テクニカルアーティストを始めるにあたって
Tabc vol3 テクニカルアーティストを始めるにあたってTabc vol3 テクニカルアーティストを始めるにあたって
Tabc vol3 テクニカルアーティストを始めるにあたってfumoto kazuhiro
 
中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~ProjectAsura
 
Unity & VR (Unity Roadshow 2016)
Unity & VR (Unity Roadshow 2016)Unity & VR (Unity Roadshow 2016)
Unity & VR (Unity Roadshow 2016)ozlael ozlael
 
Q(キュー)サイトに学ぶ、 演出のためのHTML5
Q(キュー)サイトに学ぶ、 演出のためのHTML5Q(キュー)サイトに学ぶ、 演出のためのHTML5
Q(キュー)サイトに学ぶ、 演出のためのHTML5Yamato Honda
 
Mobile crossplatformchallenges siggraph
Mobile crossplatformchallenges siggraphMobile crossplatformchallenges siggraph
Mobile crossplatformchallenges siggraphJP Lee
 
Pre Analyze For
Pre  Analyze ForPre  Analyze For
Pre Analyze ForJP Lee
 
レイトレ合宿3!!! 5分間アピールプレゼン―Pocol
レイトレ合宿3!!! 5分間アピールプレゼン―Pocolレイトレ合宿3!!! 5分間アピールプレゼン―Pocol
レイトレ合宿3!!! 5分間アピールプレゼン―PocolProjectAsura
 
Kansai cedec 2015_fumoto
Kansai cedec 2015_fumotoKansai cedec 2015_fumoto
Kansai cedec 2015_fumotofumoto kazuhiro
 
Unity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだことUnity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだことKatsutoshi Makino
 
CEDEC 2015 Cocos2d-x と社内基盤の付き合い方 〜アップストリームファーストを目指して〜
CEDEC 2015 Cocos2d-x と社内基盤の付き合い方 〜アップストリームファーストを目指して〜CEDEC 2015 Cocos2d-x と社内基盤の付き合い方 〜アップストリームファーストを目指して〜
CEDEC 2015 Cocos2d-x と社内基盤の付き合い方 〜アップストリームファーストを目指して〜Drecom Co., Ltd.
 
Unityのポストエフェクトで遊ぶ!
Unityのポストエフェクトで遊ぶ!Unityのポストエフェクトで遊ぶ!
Unityのポストエフェクトで遊ぶ!Yamato Honda
 
ACEScg: A Common Color Encoding for Visual Effects Applications - DigiPro 2015
ACEScg: A Common Color Encoding for Visual Effects Applications - DigiPro 2015ACEScg: A Common Color Encoding for Visual Effects Applications - DigiPro 2015
ACEScg: A Common Color Encoding for Visual Effects Applications - DigiPro 2015hpduiker
 
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)ozlael ozlael
 

Viewers also liked (20)

CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
 
Weighted Blended Order Independent Transparency
Weighted Blended Order Independent TransparencyWeighted Blended Order Independent Transparency
Weighted Blended Order Independent Transparency
 
Application parallelisation Android - Klaas Vangend
Application parallelisation Android - Klaas VangendApplication parallelisation Android - Klaas Vangend
Application parallelisation Android - Klaas Vangend
 
ACES 1.0 OpenColorIO config - Siggraph 2015
ACES 1.0 OpenColorIO config - Siggraph 2015ACES 1.0 OpenColorIO config - Siggraph 2015
ACES 1.0 OpenColorIO config - Siggraph 2015
 
Aiming 開発ゲームの裏側
Aiming 開発ゲームの裏側Aiming 開発ゲームの裏側
Aiming 開発ゲームの裏側
 
Tabc vol3 テクニカルアーティストを始めるにあたって
Tabc vol3 テクニカルアーティストを始めるにあたってTabc vol3 テクニカルアーティストを始めるにあたって
Tabc vol3 テクニカルアーティストを始めるにあたって
 
中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~
 
Unity & VR (Unity Roadshow 2016)
Unity & VR (Unity Roadshow 2016)Unity & VR (Unity Roadshow 2016)
Unity & VR (Unity Roadshow 2016)
 
Q(キュー)サイトに学ぶ、 演出のためのHTML5
Q(キュー)サイトに学ぶ、 演出のためのHTML5Q(キュー)サイトに学ぶ、 演出のためのHTML5
Q(キュー)サイトに学ぶ、 演出のためのHTML5
 
Aclt1
Aclt1Aclt1
Aclt1
 
Mobile crossplatformchallenges siggraph
Mobile crossplatformchallenges siggraphMobile crossplatformchallenges siggraph
Mobile crossplatformchallenges siggraph
 
Pre Analyze For
Pre  Analyze ForPre  Analyze For
Pre Analyze For
 
レイトレ合宿3!!! 5分間アピールプレゼン―Pocol
レイトレ合宿3!!! 5分間アピールプレゼン―Pocolレイトレ合宿3!!! 5分間アピールプレゼン―Pocol
レイトレ合宿3!!! 5分間アピールプレゼン―Pocol
 
Kansai cedec 2015_fumoto
Kansai cedec 2015_fumotoKansai cedec 2015_fumoto
Kansai cedec 2015_fumoto
 
Getting Native with NDK
Getting Native with NDKGetting Native with NDK
Getting Native with NDK
 
Unity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだことUnity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだこと
 
CEDEC 2015 Cocos2d-x と社内基盤の付き合い方 〜アップストリームファーストを目指して〜
CEDEC 2015 Cocos2d-x と社内基盤の付き合い方 〜アップストリームファーストを目指して〜CEDEC 2015 Cocos2d-x と社内基盤の付き合い方 〜アップストリームファーストを目指して〜
CEDEC 2015 Cocos2d-x と社内基盤の付き合い方 〜アップストリームファーストを目指して〜
 
Unityのポストエフェクトで遊ぶ!
Unityのポストエフェクトで遊ぶ!Unityのポストエフェクトで遊ぶ!
Unityのポストエフェクトで遊ぶ!
 
ACEScg: A Common Color Encoding for Visual Effects Applications - DigiPro 2015
ACEScg: A Common Color Encoding for Visual Effects Applications - DigiPro 2015ACEScg: A Common Color Encoding for Visual Effects Applications - DigiPro 2015
ACEScg: A Common Color Encoding for Visual Effects Applications - DigiPro 2015
 
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)
 

Similar to Penner pre-integrated skin rendering (siggraph 2011 advances in real-time rendering course)

More Performance! Five Rendering Ideas From Battlefield 3 and Need For Speed:...
More Performance! Five Rendering Ideas From Battlefield 3 and Need For Speed:...More Performance! Five Rendering Ideas From Battlefield 3 and Need For Speed:...
More Performance! Five Rendering Ideas From Battlefield 3 and Need For Speed:...Colin Barré-Brisebois
 
The technology behind_the_elemental_demo_16x9-1248544805
The technology behind_the_elemental_demo_16x9-1248544805The technology behind_the_elemental_demo_16x9-1248544805
The technology behind_the_elemental_demo_16x9-1248544805mistercteam
 
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open ProblemsHPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open ProblemsElectronic Arts / DICE
 
Computer Science Thesis Defense
Computer Science Thesis DefenseComputer Science Thesis Defense
Computer Science Thesis Defensetompitkin
 
A Bizarre Way to do Real-Time Lighting
A Bizarre Way to do Real-Time LightingA Bizarre Way to do Real-Time Lighting
A Bizarre Way to do Real-Time LightingSteven Tovey
 
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham OriginsGTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham OriginsColin Barré-Brisebois
 
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
 
Graphics pipeline and rendering
Graphics pipeline and renderingGraphics pipeline and rendering
Graphics pipeline and renderingiain bruce
 
Unity AMD FSR - SIGGRAPH 2021.pptx
Unity AMD FSR - SIGGRAPH 2021.pptxUnity AMD FSR - SIGGRAPH 2021.pptx
Unity AMD FSR - SIGGRAPH 2021.pptxssuser2c3c67
 
@Bristol Data Dome workshop - NSC Creative
@Bristol Data Dome workshop - NSC Creative@Bristol Data Dome workshop - NSC Creative
@Bristol Data Dome workshop - NSC CreativeSouth West Data Meetup
 
CineBox Presentation FMX 2011
CineBox Presentation FMX 2011CineBox Presentation FMX 2011
CineBox Presentation FMX 2011Christopher Evans
 
CUDA by Example : Constant Memory and Events : Notes
CUDA by Example : Constant Memory and Events : NotesCUDA by Example : Constant Memory and Events : Notes
CUDA by Example : Constant Memory and Events : NotesSubhajit Sahu
 
Deferred shading
Deferred shadingDeferred shading
Deferred shadingFrank Chao
 
Crysis 2-key-rendering-features
Crysis 2-key-rendering-featuresCrysis 2-key-rendering-features
Crysis 2-key-rendering-featuresRaimundo Renato
 
Advanced Game Development with the Mobile 3D Graphics API
Advanced Game Development with the Mobile 3D Graphics APIAdvanced Game Development with the Mobile 3D Graphics API
Advanced Game Development with the Mobile 3D Graphics APITomi Aarnio
 
Virtual Reality & Sim Racing in Assetto Corsa - Romagnoli
Virtual Reality & Sim Racing in Assetto Corsa - RomagnoliVirtual Reality & Sim Racing in Assetto Corsa - Romagnoli
Virtual Reality & Sim Racing in Assetto Corsa - RomagnoliCodemotion
 
Computer Graphics Part1
Computer Graphics Part1Computer Graphics Part1
Computer Graphics Part1qpqpqp
 
new_age_graphics_android_x86
new_age_graphics_android_x86new_age_graphics_android_x86
new_age_graphics_android_x86Droidcon Berlin
 
Gdc11 lighting used in BF3
Gdc11 lighting used in BF3Gdc11 lighting used in BF3
Gdc11 lighting used in BF3Pedram Mazloom
 

Similar to Penner pre-integrated skin rendering (siggraph 2011 advances in real-time rendering course) (20)

More Performance! Five Rendering Ideas From Battlefield 3 and Need For Speed:...
More Performance! Five Rendering Ideas From Battlefield 3 and Need For Speed:...More Performance! Five Rendering Ideas From Battlefield 3 and Need For Speed:...
More Performance! Five Rendering Ideas From Battlefield 3 and Need For Speed:...
 
The technology behind_the_elemental_demo_16x9-1248544805
The technology behind_the_elemental_demo_16x9-1248544805The technology behind_the_elemental_demo_16x9-1248544805
The technology behind_the_elemental_demo_16x9-1248544805
 
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open ProblemsHPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
 
Computer Science Thesis Defense
Computer Science Thesis DefenseComputer Science Thesis Defense
Computer Science Thesis Defense
 
A Bizarre Way to do Real-Time Lighting
A Bizarre Way to do Real-Time LightingA Bizarre Way to do Real-Time Lighting
A Bizarre Way to do Real-Time Lighting
 
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham OriginsGTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
 
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)
 
Graphics pipeline and rendering
Graphics pipeline and renderingGraphics pipeline and rendering
Graphics pipeline and rendering
 
Unity AMD FSR - SIGGRAPH 2021.pptx
Unity AMD FSR - SIGGRAPH 2021.pptxUnity AMD FSR - SIGGRAPH 2021.pptx
Unity AMD FSR - SIGGRAPH 2021.pptx
 
@Bristol Data Dome workshop - NSC Creative
@Bristol Data Dome workshop - NSC Creative@Bristol Data Dome workshop - NSC Creative
@Bristol Data Dome workshop - NSC Creative
 
CineBox Presentation FMX 2011
CineBox Presentation FMX 2011CineBox Presentation FMX 2011
CineBox Presentation FMX 2011
 
CUDA by Example : Constant Memory and Events : Notes
CUDA by Example : Constant Memory and Events : NotesCUDA by Example : Constant Memory and Events : Notes
CUDA by Example : Constant Memory and Events : Notes
 
Deferred shading
Deferred shadingDeferred shading
Deferred shading
 
Svr Raskar
Svr RaskarSvr Raskar
Svr Raskar
 
Crysis 2-key-rendering-features
Crysis 2-key-rendering-featuresCrysis 2-key-rendering-features
Crysis 2-key-rendering-features
 
Advanced Game Development with the Mobile 3D Graphics API
Advanced Game Development with the Mobile 3D Graphics APIAdvanced Game Development with the Mobile 3D Graphics API
Advanced Game Development with the Mobile 3D Graphics API
 
Virtual Reality & Sim Racing in Assetto Corsa - Romagnoli
Virtual Reality & Sim Racing in Assetto Corsa - RomagnoliVirtual Reality & Sim Racing in Assetto Corsa - Romagnoli
Virtual Reality & Sim Racing in Assetto Corsa - Romagnoli
 
Computer Graphics Part1
Computer Graphics Part1Computer Graphics Part1
Computer Graphics Part1
 
new_age_graphics_android_x86
new_age_graphics_android_x86new_age_graphics_android_x86
new_age_graphics_android_x86
 
Gdc11 lighting used in BF3
Gdc11 lighting used in BF3Gdc11 lighting used in BF3
Gdc11 lighting used in BF3
 

More from JP Lee

K 사업 E 프렌차이즈
K 사업 E 프렌차이즈K 사업 E 프렌차이즈
K 사업 E 프렌차이즈JP Lee
 
홍길동제안서
홍길동제안서홍길동제안서
홍길동제안서JP Lee
 
핼리네시아러프컨셉기획
핼리네시아러프컨셉기획핼리네시아러프컨셉기획
핼리네시아러프컨셉기획JP Lee
 
Universe online detail
Universe online detailUniverse online detail
Universe online detailJP Lee
 
초기분석등
초기분석등초기분석등
초기분석등JP Lee
 
삼국지 게임 컨셉제안서
삼국지 게임 컨셉제안서삼국지 게임 컨셉제안서
삼국지 게임 컨셉제안서JP Lee
 
Hproject
HprojectHproject
HprojectJP Lee
 

More from JP Lee (7)

K 사업 E 프렌차이즈
K 사업 E 프렌차이즈K 사업 E 프렌차이즈
K 사업 E 프렌차이즈
 
홍길동제안서
홍길동제안서홍길동제안서
홍길동제안서
 
핼리네시아러프컨셉기획
핼리네시아러프컨셉기획핼리네시아러프컨셉기획
핼리네시아러프컨셉기획
 
Universe online detail
Universe online detailUniverse online detail
Universe online detail
 
초기분석등
초기분석등초기분석등
초기분석등
 
삼국지 게임 컨셉제안서
삼국지 게임 컨셉제안서삼국지 게임 컨셉제안서
삼국지 게임 컨셉제안서
 
Hproject
HprojectHproject
Hproject
 

Recently uploaded

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 

Recently uploaded (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

Penner pre-integrated skin rendering (siggraph 2011 advances in real-time rendering course)

  • 1. Advances in Real-Time Rendering in Games
  • 2. Pre-integrated Skin Shading Eric Penner Advances in Real-Time Rendering in Games
  • 3. Advances in Real-Time Rendering in Games
  • 4. Overview  Intro to SSS  TSD Approaches to SSS  Our Approach - Pre-Integrated Skin Shading  Extra time? Two Tricks for character shadows  Masked Variance Shadow Maps  PCF2 using Pixel Quad Messages (16x depth samples) Advances in Real-Time Rendering in Games
  • 5. Subsurface Scattering - TSD  Texture Space Diffusion (Borshukov et al.) Advances in Real-Time Rendering in Games
  • 6. Subsurface Scattering - TSD  Texture Space Diffusion (Borshukov et al.)  Gaussian Blur / Wrap lighting(Gosselin/Green) Advances in Real-Time Rendering in Games
  • 7. Subsurface Scattering - TSD  Texture Space Diffusion (Borshukov et al.)  Gaussian Blur / Wrap lighting(Gosselin/Green)  Efficient Rendering of Human Skin (d’Eon et al.) Advances in Real-Time Rendering in Games
  • 8. Subsurface Scattering - TSD  NVIDIA Human Head  Gold standard for quality in real-time  Helps to have high quality head scan Advances in Real-Time Rendering in Games
  • 9. Subsurface Scattering - TSD  GPU Gems 3 - Diffusion Profile Advances in Real-Time Rendering in Games
  • 10. Subsurface Scattering - TSD  GPU Gems 3 - Diffusion Profile Advances in Real-Time Rendering in Games
  • 11. Subsurface Scattering - TSD  NVIDIA Human Head  Gold standard for quality in real-time  Lots of 10242 or 20482 maps  Many Gaussian blur passes  Take Home Messages  Linear Lighting! Needs Good Spec! (multiple lobes)  Skin diffusion is not Gaussian (two pass blur isn’t enough) Advances in Real-Time Rendering in Games
  • 12. Fast Subsurface Scattering  Fast Subsurface Scattering float2 blurJitteredSamples[13] = { { 0.000000, 0.000000 },  ShaderX7 (Hable et al.) { 1.633992, 0.036795 }, { 0.177801, 1.717593 },  Make a custom jittered kernel .... { -0.194906, 0.091094 }, };  Unique weights for r/g/b float3 blurJitteredWeights[13] = { { 0.220441, 0.437000, 0.635000 }, { 0.076356, 0.064487, 0.039097 }, { 0.116515, 0.103222, 0.064912 }, { 0.064844, 0.086388, 0.062272 }, .... }; Advances in Real-Time Rendering in Games
  • 13. Fast Subsurface Scattering  Fast Subsurface Scattering  ShaderX7 (Hable et al.)  Make a custom jittered kernel  Unique weights for r/g/b Uncharted 2 Advances in Real-Time Rendering in Games
  • 14. Fast Subsurface Scattering  Remaining Problems  Much better performance, but still expensive  Doesn’t scale (10 heads/body-parts = 20 light-maps)  Seams in UV space  Light-map resolution  Banding due to inadequate samples Advances in Real-Time Rendering in Games
  • 15. Screen Space SSS  Screen-Space Subsurface Scattering(Jiminez et al.)  Do the blur in screen-space  More scalable, but high fixed cost  Requires deferred renderer  Adds many G-buffer channels  Too many ‘S’s? Advances in Real-Time Rendering in Games
  • 16. Pre-Integrated Skin Shading  Goal: A simple pixel shader  All inputs stored locally in texture/bump maps (no blur passes)  Key Observation:  Scattering isn’t visible everywhere  Occurs near changes in incident light (light gradients)  Strategy:  Find light gradients and pre-integrate scattering Advances in Real-Time Rendering in Games
  • 17. Constant incident light: Do nothing! Advances in Real-Time Rendering in Games
  • 18. Small Surface Bumps Advances in Real-Time Rendering in Games
  • 19. Small Surface Bumps Advances in Real-Time Rendering in Games
  • 20. Shadows Advances in Real-Time Rendering in Games
  • 21. Three Problems to Solve Advances in Real-Time Rendering in Games
  • 22. Three Problems to Solve 1.) Surface Curvature 2.) Small Surface Bumps 3.) Shadows Advances in Real-Time Rendering in Games
  • 23. Three Problems to Solve 1.) Surface Curvature Advances in Real-Time Rendering in Games
  • 24. Curvature: Pre-Integrated BRDFs  Diffuse Lambertian fall-off (dot(N,L))  Causes incident light gradient  Why not bake scattering in modified dot(N,L)?  Wrap lighting (GPU Gems 1)  ATI Skin Fall-Off  Half-Life Fall-Off Advances in Real-Time Rendering in Games
  • 25. Curvature: Pre-Integrated BRDFs  Problems with wrap lighting?  Not based on real skin diffusion profiles  Biggest problem: doesn’t account for curvature/thickness! Advances in Real-Time Rendering in Games
  • 26. Curvature: Pre-Integrated BRDFs  Problem: Not based on real skin diffusion profile  Solution: Pre-blur diffuse BRDF with skin profile Advances in Real-Time Rendering in Games
  • 27. Curvature: Pre-Integrated BRDFs  Problem: Not based on real skin diffusion profile  Solution: Pre-blur diffuse BRDF with skin profile  Problem: Doesn’t account for surface curvature  Solution: Parameterize BRDF with curvature Advances in Real-Time Rendering in Games
  • 28. Curvature: Pre-Integrated BRDFs  How do we pre-integrate the diffuse BRDF? Profile Advances in Real-Time Rendering in Games
  • 29. Curvature: Pre-Integrated BRDFs  Integrate all incoming light on a sphere(or a ring, it’s easier) Profile Advances in Real-Time Rendering in Games
  • 30. Curvature: Pre-Integrated BRDFs  Let see look at some results! Advances in Real-Time Rendering in Games
  • 31. Curvature: Pre-Integrated BRDFs  Wrap Lighting  GPU Gems 1  Gamma space lighting  No tone-mapping Advances in Real-Time Rendering in Games
  • 32. Curvature: Pre-Integrated BRDF  Wrap Lighting  More recent (used today)  Linear lighting  Filming Tone-mapping Advances in Real-Time Rendering in Games
  • 33. Curvature: Pre-Integrated BRDF  Wrap Lighting  More recent (used today)  Linear lighting  Filming Tone-mapping B/G/R Cutoffs are clearly visible Advances in Real-Time Rendering in Games
  • 34. Curvature: Pre-Integrated BRDF  Pre-integrated scattering  Linear lighting  Filmic tone-mapping Advances in Real-Time Rendering in Games
  • 35. Curvature: Pre-Integrated BRDF  How does curvature help? Advances in Real-Time Rendering in Games
  • 36. Curvature: Pre-Integrated BRDF  How does curvature help?  Look at nose vs. forehead Advances in Real-Time Rendering in Games
  • 37. Curvature: Pre-Integrated BRDF  Let’s decrease the size Advances in Real-Time Rendering in Games
  • 38. Curvature: Pre-Integrated BRDF  Let’s decrease the size Advances in Real-Time Rendering in Games
  • 39. Curvature: Pre-Integrated BRDF  Light scatters right through.  Now let’s increase size Advances in Real-Time Rendering in Games
  • 40. Curvature: Pre-Integrated BRDF Advances in Real-Time Rendering in Games
  • 41. Curvature: Pre-Integrated BRDF Advances in Real-Time Rendering in Games
  • 42. Curvature: Pre-Integrated BRDF  Flatter surfaces have less visible scattering Advances in Real-Time Rendering in Games
  • 43. Curvature: Pre-Integrated BRDF  Now bake everything! Advances in Real-Time Rendering in Games
  • 44. Curvature: Pre-Integrated BRDF  So where do we get curvature (1/radius) Advances in Real-Time Rendering in Games
  • 45. Curvature: Pre-Integrated BRDF  So where do we get curvature (1/radius)  Similar triangles and derivatives. Advances in Real-Time Rendering in Games
  • 46. Curvature: Pre-Integrated BRDF  So where do we get curvature (1/radius)  Similar triangles and derivatives. c = length(fwidth(N)) / length(fwidth(pmm)) Advances in Real-Time Rendering in Games
  • 47. Curvature: Pre-Integrated BRDF  So where do we get curvature (1/radius)  Similar triangles and derivatives.  Derivatives are constant within a triangle  Sometimes this is fine  If edges appear, store curvature in vertices or texture Advances in Real-Time Rendering in Games
  • 48. Three Problems to Solve 1.) Surface Curvature Pre-integrated curvature-based BRDF 2.) Small Surface Bumps Advances in Real-Time Rendering in Games
  • 49. Per-Channel Bent Normals  BRDF works for smooth curvy surfaces  What about small bumps in normal maps?  Light should scatter past several surface bumps  Using curvature breaks down at small sizes  Let’s focus only on normals now Advances in Real-Time Rendering in Games
  • 50. Per-Channel Bent Normals  With a normal map we can sample neighbourhood  We could take many samples, light, weight and accumulate  Or, can we pre-filter the normal map?  Pre-filtering dot(N,L) is correct  Pre-filtering max(0,dot(N,L)) isn’t strictly correct (but it’s close)  LEAN/CLEAN mapping does this for specular Advances in Real-Time Rendering in Games
  • 51. Per-Channel Bent Normals  Tangent:  Normal maps can be acquired (Ma et al. 2007)  One technique applies light gradients to capture normals  Different light colours produced different captured normals Advances in Real-Time Rendering in Games
  • 52. Per-Channel Bent Normals Ma et al. 2007 - Rapid Acquisition of Specular and Diffuse Normal Maps Advances in Real-Time Rendering in Games
  • 53. Per-Channel Bent Normals Ma et al. 2007 - Rapid Acquisition of Specular and Diffuse Normal Maps Advances in Real-Time Rendering in Games
  • 54. Per-Channel Bent Normals Ma et al. 2007 - Rapid Acquisition of Specular and Diffuse Normal Maps Advances in Real-Time Rendering in Games
  • 55. Per-Channel Bent Normals Ma et al. 2007 - Rapid Acquisition of Specular and Diffuse Normal Maps Advances in Real-Time Rendering in Games
  • 56. Per-Channel Bent Normals  We don’t need captured normals to use this technique  Start with ‘true’ normal map (spec)  Pre-filter new normal maps with R/G/B skin profiles  Optimally we need 4 normals now  R/G/B and Spec  Looks great! Lots of memory! Advances in Real-Time Rendering in Games
  • 57. Bent Normals (Optimized) A.) Use geometry and spec normals (blend the rest)  Only works for certain art!  Normal map must contain only details (wrinkles/pores) B.) Use two normal samples (blend the rest)  Works for all art!  One normal-map, two samplers  Clamp one sampler at blurred mip threshold Advances in Real-Time Rendering in Games
  • 58. Bent Normals - Results Without bent normals With bent normals Advances in Real-Time Rendering in Games
  • 59. Bent Normals - Results  Now we have pretty good solutions for:  Curvy but smooth surfaces (pre-integrated BRDF)  Flat but bumpy surfaces (pre-integrated normal maps)  These complement each other  BRDF chosen from prevailing curvature (geometry)  Broad scattering from dominant surface  Bent normals fill in the gaps  Fine-grained scattering of local details Advances in Real-Time Rendering in Games
  • 60. Three Problems to Solve 1.) Surface Curvature Pre-integrated curvature-based BRDF 2.) ‘Small’ Surface Bumps Pre-integrated bent normals 3.) Shadows Pre-integrated shadow penumbrae Advances in Real-Time Rendering in Games
  • 61. Shadows  What about shadows?  Shadows also give skin a characteristic look  Seems more difficult:  Shadows depend on arbitrary occluders  Can fall anywhere on the surface Advances in Real-Time Rendering in Games
  • 62. Shadows  Turns out we can apply a very similar technique  Other approaches have used a texture lookup to mimic the look of skin(GDC 2005, Tatarchuk)  In our work we apply the diffusion profiles Advances in Real-Time Rendering in Games
  • 63. Shadows  Turns out we can apply a very similar technique  This is the shadow from a box filter S(x) Advances in Real-Time Rendering in Games
  • 64. Shadows  Turns out we can apply a very similar technique  This is the shadow from a box filter S(x)  Given the shadow value Advances in Real-Time Rendering in Games
  • 65. Shadows  Turns out we can apply a very similar technique  This is the shadow from a box filter S(x)  Given the shadow value  Invert the penumbra blur function S-1(x) Advances in Real-Time Rendering in Games
  • 66. Shadows  Turns out we can apply a very similar technique  This is the shadow from a box filter S(x)  Given the shadow value  Invert the penumbra blur function S-1(x)  Find the position within the shadow Advances in Real-Time Rendering in Games
  • 67. Shadows  Map to a smaller shadow with room for scattering Advances in Real-Time Rendering in Games
  • 68. Shadows  Apply similar integration as our diffuse Advances in Real-Time Rendering in Games
  • 69. Shadows  Pre-integrate for different penumbra size (eg. due to slope) Advances in Real-Time Rendering in Games
  • 70. Shadows  Let’s look at some results compared to TSD Advances in Real-Time Rendering in Games
  • 71. Pre- TSD Integrated Advances in Real-Time Rendering in Games
  • 72. Results TSD Advances in Real-Time Rendering in Games
  • 73. Results Pre- Integrated Advances in Real-Time Rendering in Games
  • 74. Results Diffuse Advances in Real-Time Rendering in Games
  • 75. Results TSD Advances in Real-Time Rendering in Games
  • 76. Results Pre-Integrated Advances in Real-Time Rendering in Games
  • 77. Shadows  We need a wide penumbra to get lots of scattering  We used two different shadow techniques  In both cases it really helps to use extra shadow maps  We can cheat: only render the head, not the whole scene  Can be as low as 642 for one head (preferably 1282) Advances in Real-Time Rendering in Games
  • 78. Shadows - PCF  1.) Pixel Quad Amortization (16 shadow map texels per sample!)  Pixels are rendered in quads – quad pixels can share work!  8x8 PCF in 4 samples!  Requires Nvidia card (but DX11 ‘fine’ ddx/ddy might fix that)  Tell me if you try it with DX11 hardware!!  See GPU Pro 2 for details Advances in Real-Time Rendering in Games
  • 79. Shadows - VSMs  2.) Masked Variance Shadow maps  Render only the head into it’s own small variance shadow map  ‘Background’ causes bad variance artifacts!  Include an extra channel as background mask (eg. A2B10G10R10)  Blur the variance shadow map and mask  Correct variance sample to remove the background percentage  Correct the shadow calculation accordingly  Background percentage = not shadowed Advances in Real-Time Rendering in Games
  • 80. Filmic Tone-mapping  All the images today use filmic tone-mapping  Certain shots (eg. sunlight) need a lot of light  Scattering occurs at the dark end of dynamic range  If we try capture the bright light  We invariably crush the darks into a small dynamic range  In summary, we need high dynamic range!  And a way to map it nicely to a LDR display Advances in Real-Time Rendering in Games
  • 81. Filmic Tone-mapping  Kodak film response curves  This is a nice approximation: (Hejl 2009) x = max(0, LinearColor-0.004); GammaColor = (x*(6.2*x+0.5))/ (x*(6.2*x+1.7)+0.06); Advances in Real-Time Rendering in Games
  • 82. Filmic Tone-mapping  Without filmic tonemap  1x intensity  Larger size  Boring! Advances in Real-Time Rendering in Games
  • 83. Filmic Tone-mapping  Without filmic tonemap  4x intensity  More interesting, but! Saturated (clamped to 1.0) Less saturated Advances in Real-Time Rendering in Games blacks
  • 84. Filmic Tone-mapping  With filmic tonemap  4x intensity Saturated Advances in Real-Time Rendering in Games blacks
  • 85. Filmic Tone-mapping  Without filmic tonemap Advances in Real-Time Rendering in Games
  • 86. Filmic Tone-mapping  With filmic tonemap Advances in Real-Time Rendering in Games
  • 87. Filmic Tone-mapping  Digital cameras also have this problem!  Left side is desired look  Right side is blown out  Film is much better Advances in Real-Time Rendering in Games
  • 88. Filmic Tone-mapping  Varying size and intensity by powers of two Still 251/255 Advances in Real-Time Rendering in Games
  • 89. Pre-Integrated Skin Shading  Future work:  Approximate lookup textures with curve fitting  Use additional axis of curvature in diffuse fall-off  Include transmittance techniques  When the detailed normal map gets blurred, we lose the small scattering effects from our normal map technique. Possibly we should bias the curvature lookup to account for this in the BRDF. Advances in Real-Time Rendering in Games
  • 90. Pre-Integrated Skin Shading  Thanks to:  George Borshukov  Natalya Tatarchuk  Google (where I work now)  Everyone at Electronic Arts (where I used to work) Advances in Real-Time Rendering in Games
  • 91. Advances in Real-Time Rendering in Games
  • 92. Curvature: Pre-Integrated BRDFs  Integrate all incoming light on a sphere(or a ring, it’s easier) Profile Oops! saturate(cos())! Advances in Real-Time Rendering in Games