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

J
JP LeeGame Director em Unity3D
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
1 de 92

Recomendados

Custom fabric shader for unreal engine 4 por
Custom fabric shader for unreal engine 4Custom fabric shader for unreal engine 4
Custom fabric shader for unreal engine 4동석 김
22.4K visualizações25 slides
Moving Frostbite to Physically Based Rendering por
Moving Frostbite to Physically Based RenderingMoving Frostbite to Physically Based Rendering
Moving Frostbite to Physically Based RenderingElectronic Arts / DICE
345.8K visualizações91 slides
The Rendering Technology of Killzone 2 por
The Rendering Technology of Killzone 2The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2Guerrilla
11.1K visualizações58 slides
A Bit More Deferred Cry Engine3 por
A Bit More Deferred   Cry Engine3A Bit More Deferred   Cry Engine3
A Bit More Deferred Cry Engine3guest11b095
12K visualizações27 slides
Physically Based Lighting in Unreal Engine 4 por
Physically Based Lighting in Unreal Engine 4Physically Based Lighting in Unreal Engine 4
Physically Based Lighting in Unreal Engine 4Lukas Lang
10.8K visualizações30 slides
Shiny PC Graphics in Battlefield 3 por
Shiny PC Graphics in Battlefield 3Shiny PC Graphics in Battlefield 3
Shiny PC Graphics in Battlefield 3Electronic Arts / DICE
92.3K visualizações95 slides

Mais conteúdo relacionado

Mais procurados

Calibrating Lighting and Materials in Far Cry 3 por
Calibrating Lighting and Materials in Far Cry 3Calibrating Lighting and Materials in Far Cry 3
Calibrating Lighting and Materials in Far Cry 3stevemcauley
12.7K visualizações67 slides
Triangle Visibility buffer por
Triangle Visibility bufferTriangle Visibility buffer
Triangle Visibility bufferWolfgang Engel
662 visualizações80 slides
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu... por
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...Electronic Arts / DICE
5.7K visualizações58 slides
Modular Rigging in Battlefield 3 por
Modular Rigging in Battlefield 3Modular Rigging in Battlefield 3
Modular Rigging in Battlefield 3Electronic Arts / DICE
131K visualizações21 slides
Optimizing the Graphics Pipeline with Compute, GDC 2016 por
Optimizing the Graphics Pipeline with Compute, GDC 2016Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Graham Wihlidal
135.4K visualizações99 slides
Taking Killzone Shadow Fall Image Quality Into The Next Generation por
Taking Killzone Shadow Fall Image Quality Into The Next GenerationTaking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next GenerationGuerrilla
14.9K visualizações112 slides

Mais procurados(20)

Calibrating Lighting and Materials in Far Cry 3 por stevemcauley
Calibrating Lighting and Materials in Far Cry 3Calibrating Lighting and Materials in Far Cry 3
Calibrating Lighting and Materials in Far Cry 3
stevemcauley12.7K visualizações
Triangle Visibility buffer por Wolfgang Engel
Triangle Visibility bufferTriangle Visibility buffer
Triangle Visibility buffer
Wolfgang Engel662 visualizações
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu... por Electronic Arts / DICE
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
Electronic Arts / DICE5.7K visualizações
Modular Rigging in Battlefield 3 por Electronic Arts / DICE
Modular Rigging in Battlefield 3Modular Rigging in Battlefield 3
Modular Rigging in Battlefield 3
Electronic Arts / DICE131K visualizações
Optimizing the Graphics Pipeline with Compute, GDC 2016 por Graham Wihlidal
Optimizing the Graphics Pipeline with Compute, GDC 2016Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016
Graham Wihlidal135.4K visualizações
Taking Killzone Shadow Fall Image Quality Into The Next Generation por Guerrilla
Taking Killzone Shadow Fall Image Quality Into The Next GenerationTaking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Guerrilla14.9K visualizações
Progressive Lightmapper: An Introduction to Lightmapping in Unity por Unity Technologies
Progressive Lightmapper: An Introduction to Lightmapping in UnityProgressive Lightmapper: An Introduction to Lightmapping in Unity
Progressive Lightmapper: An Introduction to Lightmapping in Unity
Unity Technologies7K visualizações
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda por Electronic Arts / DICE
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
Electronic Arts / DICE58K visualizações
Graphics Gems from CryENGINE 3 (Siggraph 2013) por Tiago Sousa
Graphics Gems from CryENGINE 3 (Siggraph 2013)Graphics Gems from CryENGINE 3 (Siggraph 2013)
Graphics Gems from CryENGINE 3 (Siggraph 2013)
Tiago Sousa11K visualizações
Past, Present and Future Challenges of Global Illumination in Games por Colin Barré-Brisebois
Past, Present and Future Challenges of Global Illumination in GamesPast, Present and Future Challenges of Global Illumination in Games
Past, Present and Future Challenges of Global Illumination in Games
Colin Barré-Brisebois23.7K visualizações
Physically Based and Unified Volumetric Rendering in Frostbite por Electronic Arts / DICE
Physically Based and Unified Volumetric Rendering in FrostbitePhysically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in Frostbite
Electronic Arts / DICE160.6K visualizações
Stochastic Screen-Space Reflections por Electronic Arts / DICE
Stochastic Screen-Space ReflectionsStochastic Screen-Space Reflections
Stochastic Screen-Space Reflections
Electronic Arts / DICE156.9K visualizações
Lighting you up in Battlefield 3 por Electronic Arts / DICE
Lighting you up in Battlefield 3Lighting you up in Battlefield 3
Lighting you up in Battlefield 3
Electronic Arts / DICE25K visualizações
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑 por MinGeun Park
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
[0107 박민근] 쉽게 배우는 hdr과 톤맵핑
MinGeun Park4.6K visualizações
Lighting Shading by John Hable por Naughty Dog
Lighting Shading by John HableLighting Shading by John Hable
Lighting Shading by John Hable
Naughty Dog16.9K visualizações
CEDEC 2018 - Towards Effortless Photorealism Through Real-Time Raytracing por Electronic Arts / DICE
CEDEC 2018 - Towards Effortless Photorealism Through Real-Time RaytracingCEDEC 2018 - Towards Effortless Photorealism Through Real-Time Raytracing
CEDEC 2018 - Towards Effortless Photorealism Through Real-Time Raytracing
Electronic Arts / DICE2.5K visualizações
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems por Electronic Arts / DICE
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
Electronic Arts / DICE3.6K visualizações
Beyond porting por Cass Everitt
Beyond portingBeyond porting
Beyond porting
Cass Everitt69.4K visualizações
A Bizarre Way to do Real-Time Lighting por Steven Tovey
A Bizarre Way to do Real-Time LightingA Bizarre Way to do Real-Time Lighting
A Bizarre Way to do Real-Time Lighting
Steven Tovey11.7K visualizações

Destaque

CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介 por
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介Drecom Co., Ltd.
12.1K visualizações114 slides
Weighted Blended Order Independent Transparency por
Weighted Blended Order Independent TransparencyWeighted Blended Order Independent Transparency
Weighted Blended Order Independent Transparencyzokweiron
1.4K visualizações35 slides
Application parallelisation Android - Klaas Vangend por
Application parallelisation Android - Klaas VangendApplication parallelisation Android - Klaas Vangend
Application parallelisation Android - Klaas Vangendナム-Nam Nguyễn
934 visualizações34 slides
ACES 1.0 OpenColorIO config - Siggraph 2015 por
ACES 1.0 OpenColorIO config - Siggraph 2015ACES 1.0 OpenColorIO config - Siggraph 2015
ACES 1.0 OpenColorIO config - Siggraph 2015hpduiker
4.7K visualizações19 slides
Aiming 開発ゲームの裏側 por
Aiming 開発ゲームの裏側Aiming 開発ゲームの裏側
Aiming 開発ゲームの裏側Katsutoshi Makino
20.1K visualizações32 slides
Tabc vol3 テクニカルアーティストを始めるにあたって por
Tabc vol3 テクニカルアーティストを始めるにあたってTabc vol3 テクニカルアーティストを始めるにあたって
Tabc vol3 テクニカルアーティストを始めるにあたってfumoto kazuhiro
5.3K visualizações46 slides

Destaque(20)

CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介 por Drecom Co., Ltd.
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
Drecom Co., Ltd.12.1K visualizações
Weighted Blended Order Independent Transparency por zokweiron
Weighted Blended Order Independent TransparencyWeighted Blended Order Independent Transparency
Weighted Blended Order Independent Transparency
zokweiron1.4K visualizações
Application parallelisation Android - Klaas Vangend por ナム-Nam Nguyễn
Application parallelisation Android - Klaas VangendApplication parallelisation Android - Klaas Vangend
Application parallelisation Android - Klaas Vangend
ナム-Nam Nguyễn934 visualizações
ACES 1.0 OpenColorIO config - Siggraph 2015 por hpduiker
ACES 1.0 OpenColorIO config - Siggraph 2015ACES 1.0 OpenColorIO config - Siggraph 2015
ACES 1.0 OpenColorIO config - Siggraph 2015
hpduiker4.7K visualizações
Aiming 開発ゲームの裏側 por Katsutoshi Makino
Aiming 開発ゲームの裏側Aiming 開発ゲームの裏側
Aiming 開発ゲームの裏側
Katsutoshi Makino20.1K visualizações
Tabc vol3 テクニカルアーティストを始めるにあたって por fumoto kazuhiro
Tabc vol3 テクニカルアーティストを始めるにあたってTabc vol3 テクニカルアーティストを始めるにあたって
Tabc vol3 テクニカルアーティストを始めるにあたって
fumoto kazuhiro5.3K visualizações
中級グラフィックス入門~シャドウマッピング総まとめ~ por ProjectAsura
中級グラフィックス入門~シャドウマッピング総まとめ~中級グラフィックス入門~シャドウマッピング総まとめ~
中級グラフィックス入門~シャドウマッピング総まとめ~
ProjectAsura29.2K visualizações
Unity & VR (Unity Roadshow 2016) por ozlael ozlael
Unity & VR (Unity Roadshow 2016)Unity & VR (Unity Roadshow 2016)
Unity & VR (Unity Roadshow 2016)
ozlael ozlael2.1K visualizações
Q(キュー)サイトに学ぶ、 演出のためのHTML5 por Yamato Honda
Q(キュー)サイトに学ぶ、 演出のためのHTML5Q(キュー)サイトに学ぶ、 演出のためのHTML5
Q(キュー)サイトに学ぶ、 演出のためのHTML5
Yamato Honda2.5K visualizações
Aclt1 por zokweiron
Aclt1Aclt1
Aclt1
zokweiron706 visualizações
Mobile crossplatformchallenges siggraph por JP Lee
Mobile crossplatformchallenges siggraphMobile crossplatformchallenges siggraph
Mobile crossplatformchallenges siggraph
JP Lee1K visualizações
Pre Analyze For por JP Lee
Pre  Analyze ForPre  Analyze For
Pre Analyze For
JP Lee582 visualizações
レイトレ合宿3!!! 5分間アピールプレゼン―Pocol por ProjectAsura
レイトレ合宿3!!! 5分間アピールプレゼン―Pocolレイトレ合宿3!!! 5分間アピールプレゼン―Pocol
レイトレ合宿3!!! 5分間アピールプレゼン―Pocol
ProjectAsura2.6K visualizações
Kansai cedec 2015_fumoto por fumoto kazuhiro
Kansai cedec 2015_fumotoKansai cedec 2015_fumoto
Kansai cedec 2015_fumoto
fumoto kazuhiro3.5K visualizações
Getting Native with NDK por ナム-Nam Nguyễn
Getting Native with NDKGetting Native with NDK
Getting Native with NDK
ナム-Nam Nguyễn754 visualizações
Unity * スマートフォン開発で学んだこと por Katsutoshi Makino
Unity * スマートフォン開発で学んだことUnity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだこと
Katsutoshi Makino15.6K visualizações
CEDEC 2015 Cocos2d-x と社内基盤の付き合い方 〜アップストリームファーストを目指して〜 por Drecom Co., Ltd.
CEDEC 2015 Cocos2d-x と社内基盤の付き合い方 〜アップストリームファーストを目指して〜CEDEC 2015 Cocos2d-x と社内基盤の付き合い方 〜アップストリームファーストを目指して〜
CEDEC 2015 Cocos2d-x と社内基盤の付き合い方 〜アップストリームファーストを目指して〜
Drecom Co., Ltd.3.5K visualizações
Unityのポストエフェクトで遊ぶ! por Yamato Honda
Unityのポストエフェクトで遊ぶ!Unityのポストエフェクトで遊ぶ!
Unityのポストエフェクトで遊ぶ!
Yamato Honda30.7K visualizações
ACEScg: A Common Color Encoding for Visual Effects Applications - DigiPro 2015 por hpduiker
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
hpduiker16.5K visualizações
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16) por ozlael ozlael
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)
뭣이 중헌디? 성능 프로파일링도 모름서 - 유니티 성능 프로파일링 가이드 (IGC16)
ozlael ozlael11.1K visualizações

Similar a 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:... por
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
2.2K visualizações97 slides
The technology behind_the_elemental_demo_16x9-1248544805 por
The technology behind_the_elemental_demo_16x9-1248544805The technology behind_the_elemental_demo_16x9-1248544805
The technology behind_the_elemental_demo_16x9-1248544805mistercteam
709 visualizações71 slides
Computer Science Thesis Defense por
Computer Science Thesis DefenseComputer Science Thesis Defense
Computer Science Thesis Defensetompitkin
2.5K visualizações32 slides
DirectX 11 Rendering in Battlefield 3 por
DirectX 11 Rendering in Battlefield 3DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3Electronic Arts / DICE
56.5K visualizações56 slides
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins por
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
6K visualizações66 slides
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009) por
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
11.8K visualizações40 slides

Similar a 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:... por Colin Barré-Brisebois
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é-Brisebois2.2K visualizações
The technology behind_the_elemental_demo_16x9-1248544805 por mistercteam
The technology behind_the_elemental_demo_16x9-1248544805The technology behind_the_elemental_demo_16x9-1248544805
The technology behind_the_elemental_demo_16x9-1248544805
mistercteam709 visualizações
Computer Science Thesis Defense por tompitkin
Computer Science Thesis DefenseComputer Science Thesis Defense
Computer Science Thesis Defense
tompitkin2.5K visualizações
DirectX 11 Rendering in Battlefield 3 por Electronic Arts / DICE
DirectX 11 Rendering in Battlefield 3DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3
Electronic Arts / DICE56.5K visualizações
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins por Colin Barré-Brisebois
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
Colin Barré-Brisebois6K visualizações
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009) por Johan Andersson
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 Andersson11.8K visualizações
Graphics pipeline and rendering por iain bruce
Graphics pipeline and renderingGraphics pipeline and rendering
Graphics pipeline and rendering
iain bruce2.2K visualizações
Unity AMD FSR - SIGGRAPH 2021.pptx por ssuser2c3c67
Unity AMD FSR - SIGGRAPH 2021.pptxUnity AMD FSR - SIGGRAPH 2021.pptx
Unity AMD FSR - SIGGRAPH 2021.pptx
ssuser2c3c6716 visualizações
@Bristol Data Dome workshop - NSC Creative por South West Data Meetup
@Bristol Data Dome workshop - NSC Creative@Bristol Data Dome workshop - NSC Creative
@Bristol Data Dome workshop - NSC Creative
South West Data Meetup243 visualizações
Secrets of CryENGINE 3 Graphics Technology por Tiago Sousa
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics Technology
Tiago Sousa32.3K visualizações
CineBox Presentation FMX 2011 por Christopher Evans
CineBox Presentation FMX 2011CineBox Presentation FMX 2011
CineBox Presentation FMX 2011
Christopher Evans37 visualizações
CUDA by Example : Constant Memory and Events : Notes por Subhajit Sahu
CUDA by Example : Constant Memory and Events : NotesCUDA by Example : Constant Memory and Events : Notes
CUDA by Example : Constant Memory and Events : Notes
Subhajit Sahu101 visualizações
Deferred shading por Frank Chao
Deferred shadingDeferred shading
Deferred shading
Frank Chao11.9K visualizações
Crysis 2-key-rendering-features por Raimundo Renato
Crysis 2-key-rendering-featuresCrysis 2-key-rendering-features
Crysis 2-key-rendering-features
Raimundo Renato1.3K visualizações
Advanced Game Development with the Mobile 3D Graphics API por Tomi Aarnio
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
Tomi Aarnio1.4K visualizações
Virtual Reality & Sim Racing in Assetto Corsa - Romagnoli por Codemotion
Virtual Reality & Sim Racing in Assetto Corsa - RomagnoliVirtual Reality & Sim Racing in Assetto Corsa - Romagnoli
Virtual Reality & Sim Racing in Assetto Corsa - Romagnoli
Codemotion2.7K visualizações
Computer Graphics Part1 por qpqpqp
Computer Graphics Part1Computer Graphics Part1
Computer Graphics Part1
qpqpqp3.9K visualizações
new_age_graphics_android_x86 por Droidcon Berlin
new_age_graphics_android_x86new_age_graphics_android_x86
new_age_graphics_android_x86
Droidcon Berlin1.3K visualizações
Gdc11 lighting used in BF3 por Pedram Mazloom
Gdc11 lighting used in BF3Gdc11 lighting used in BF3
Gdc11 lighting used in BF3
Pedram Mazloom468 visualizações

Mais de JP Lee

K 사업 E 프렌차이즈 por
K 사업 E 프렌차이즈K 사업 E 프렌차이즈
K 사업 E 프렌차이즈JP Lee
564 visualizações2 slides
홍길동제안서 por
홍길동제안서홍길동제안서
홍길동제안서JP Lee
1K visualizações21 slides
핼리네시아러프컨셉기획 por
핼리네시아러프컨셉기획핼리네시아러프컨셉기획
핼리네시아러프컨셉기획JP Lee
404 visualizações78 slides
Universe online detail por
Universe online detailUniverse online detail
Universe online detailJP Lee
267 visualizações26 slides
초기분석등 por
초기분석등초기분석등
초기분석등JP Lee
569 visualizações21 slides
삼국지 게임 컨셉제안서 por
삼국지 게임 컨셉제안서삼국지 게임 컨셉제안서
삼국지 게임 컨셉제안서JP Lee
37.8K visualizações27 slides

Mais de JP Lee(7)

K 사업 E 프렌차이즈 por JP Lee
K 사업 E 프렌차이즈K 사업 E 프렌차이즈
K 사업 E 프렌차이즈
JP Lee564 visualizações
홍길동제안서 por JP Lee
홍길동제안서홍길동제안서
홍길동제안서
JP Lee1K visualizações
핼리네시아러프컨셉기획 por JP Lee
핼리네시아러프컨셉기획핼리네시아러프컨셉기획
핼리네시아러프컨셉기획
JP Lee404 visualizações
Universe online detail por JP Lee
Universe online detailUniverse online detail
Universe online detail
JP Lee267 visualizações
초기분석등 por JP Lee
초기분석등초기분석등
초기분석등
JP Lee569 visualizações
삼국지 게임 컨셉제안서 por JP Lee
삼국지 게임 컨셉제안서삼국지 게임 컨셉제안서
삼국지 게임 컨셉제안서
JP Lee37.8K visualizações
Hproject por JP Lee
HprojectHproject
Hproject
JP Lee652 visualizações

Último

2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue por
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlueShapeBlue
147 visualizações23 slides
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue por
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueCloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueShapeBlue
135 visualizações13 slides
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online por
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineShapeBlue
221 visualizações19 slides
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T por
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TCloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TShapeBlue
152 visualizações34 slides
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... por
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc
170 visualizações29 slides
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... por
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...ShapeBlue
159 visualizações25 slides

Último(20)

2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue por ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
ShapeBlue147 visualizações
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue por ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueCloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
ShapeBlue135 visualizações
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online por ShapeBlue
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
ShapeBlue221 visualizações
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T por ShapeBlue
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TCloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
ShapeBlue152 visualizações
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... por TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc170 visualizações
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... por ShapeBlue
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
ShapeBlue159 visualizações
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue por ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueMigrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
ShapeBlue218 visualizações
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... por Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker54 visualizações
Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ por ShapeBlue
Confidence in CloudStack - Aron Wagner, Nathan Gleason - AmericConfidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
ShapeBlue130 visualizações
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ... por ShapeBlue
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
ShapeBlue184 visualizações
The Power of Heat Decarbonisation Plans in the Built Environment por IES VE
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built Environment
IES VE79 visualizações
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... por ShapeBlue
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
ShapeBlue166 visualizações
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And... por ShapeBlue
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
ShapeBlue106 visualizações
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue por ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
ShapeBlue203 visualizações
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... por ShapeBlue
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
ShapeBlue180 visualizações
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates por ShapeBlue
Keynote Talk: Open Source is Not Dead - Charles Schulz - VatesKeynote Talk: Open Source is Not Dead - Charles Schulz - Vates
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates
ShapeBlue252 visualizações
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda... por ShapeBlue
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
ShapeBlue161 visualizações
"Surviving highload with Node.js", Andrii Shumada por Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays56 visualizações
Kyo - Functional Scala 2023.pdf por Flavio W. Brasil
Kyo - Functional Scala 2023.pdfKyo - Functional Scala 2023.pdf
Kyo - Functional Scala 2023.pdf
Flavio W. Brasil457 visualizações
Generative AI: Shifting the AI Landscape por Deakin University
Generative AI: Shifting the AI LandscapeGenerative AI: Shifting the AI Landscape
Generative AI: Shifting the AI Landscape
Deakin University53 visualizações

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