ADVANCED SKIN SHADING WITH FACEWORKS Nathan Reed — NVIDIA March 24, 2014.

Slides:



Advertisements
Similar presentations
Introduction to Direct3D 10 Course Porting Game Engines to Direct3D 10: Crysis / CryEngine2 Carsten Wenzel.
Advertisements

16.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 16 – Some Special Rendering Effects.
Exploration of advanced lighting and shading techniques
Pre-integrated Skin Shading
Dragon Age II DX11 Technology
Normal Map Compression with ATI 3Dc™ Jonathan Zarge ATI Research Inc.
Exploration of bump, parallax, relief and displacement mapping
1 Graphics CSCI 343, Fall 2013 Lecture 18 Lighting and Shading.
Computer graphics & visualization Global Illumination Effects.
Environment Mapping CSE 781 – Roger Crawfis
Advanced Rendering MATERIALS, POSTEFFECTS AND SCENE COMPOSITION GDC
Week 10 - Monday.  What did we talk about last time?  Global illumination  Shadows  Projection shadows  Soft shadows.
3D Graphics Rendering and Terrain Modeling
Real-Time Rendering TEXTURING Lecture 02 Marina Gavrilova.
Fast GPU Histogram Analysis for Scene Post- Processing Andy Luedke Halo Development Team Microsoft Game Studios.
Definition Platforms for this talk –Windows / DirectX11 –OpenGL 4 / OpenGL ES 3.0 –PlayStation 4 –Xbox One.
 Engineering Graphics & Introductory Design 3D Graphics and Rendering REU Modeling Course – June 13 th 2014.
1Notes  Assignment 1 is out, due October 12  Inverse Kinematics  Evaluating Catmull-Rom splines for motion curves  Wednesday: may be late (will get.
Master Thesis Lighting and materials for real-time game engines
Computer Graphics (Fall 2005) COMS 4160, Lecture 16: Illumination and Shading 1
(conventional Cartesian reference system)
Skin Rendering GPU Graphics Gary J. Katz University of Pennsylvania CIS 665 Adapted from David Gosselin’s Power Point and article, Real-time skin rendering,
IN4151 Introduction 3D graphics 1 Introduction to 3D computer graphics part 2 Viewing pipeline Multi-processor implementation GPU architecture GPU algorithms.
Real-Time High Quality Rendering COMS 6160 [Fall 2004], Lecture 4 Shadow and Environment Mapping
Global Illumination May 7, Global Effects translucent surface shadow multiple reflection.
Shading Adding Color Lambert’s law n L  Light a point in any direction varies as the cosine of the angle between a vector from the point to the light.
University of British Columbia CPSC 414 Computer Graphics © Tamara Munzner 1 Shading Week 5, Wed 1 Oct 2003 recap: lighting shading.
Lighting & Shading.
Post-rendering Cel Shading & Bloom Effect
Ray Tracing and Photon Mapping on GPUs Tim PurcellStanford / NVIDIA.
GPU Programming Robert Hero Quick Overview (The Old Way) Graphics cards process Triangles Graphics cards process Triangles Quads.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
Programmable Pipelines. Objectives Introduce programmable pipelines ­Vertex shaders ­Fragment shaders Introduce shading languages ­Needed to describe.
Sebastian Enrique Columbia University Real-Time Rendering Using CUReT BRDF Materials with Zernike Polynomials CS Topics.
A Crash Course in HLSL Matt Christian.
TERRAIN SET09115 Intro to Graphics Programming. Breakdown  Basics  What do we mean by terrain?  How terrain rendering works  Generating terrain 
Rendering Overview CSE 3541 Matt Boggus. Rendering Algorithmically generating a 2D image from 3D models Raster graphics.
Week 10 - Wednesday.  What did we talk about last time?  Shadow volumes and shadow mapping  Ambient occlusion.
CS-378: Game Technology Lecture #4: Texture and Other Maps Prof. Okan Arikan University of Texas, Austin V Lecture #4: Texture and Other Maps.
COMPUTER GRAPHICS CSCI 375. What do I need to know?  Familiarity with  Trigonometry  Analytic geometry  Linear algebra  Data structures  OOP.
Advanced Computer Graphics Advanced Shaders CO2409 Computer Graphics Week 16.
View-Dependent Precomputed Light Transport Using Nonlinear Gaussian Function Approximations Paul Green 1 Jan Kautz 1 Wojciech Matusik 2 Frédo Durand 1.
Programmable Pipelines Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts Director, Arts Technology Center University.
Advanced Computer Graphics Shadow Techniques CO2409 Computer Graphics Week 20.
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
BUMP-MAPPING SET09115 Intro to Graphics Programming.
SIGGRAPH 2010 Course: Physically Based Shading Models in Film and Game Production SIGGRAPH 2010 Physically Based Shading Models in Film and Game Production.
Shading in OpenGL Ed Angel Professor Emeritus of Computer Science University of New Mexico 1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E.
RENDERING Introduction to Shading models – Flat and Smooth shading – Adding texture to faces – Adding shadows of objects – Building a camera in a program.
Computer Graphics 3 Lecture 6: Other Hardware-Based Extensions Benjamin Mora 1 University of Wales Swansea Dr. Benjamin Mora.
David Luebke3/16/2016 CS 551 / 645: Introductory Computer Graphics David Luebke
Ying Zhu Georgia State University
Deferred Lighting.
3D Graphics Rendering PPT By Ricardo Veguilla.
Bump Mapping -1 Three scales of detail on an object
Real-time Rendering Lab 4
GPU Graphics Gary J. Katz University of Pennsylvania CIS 665
Lighting.
UMBC Graphics for Games
UMBC Graphics for Games
Selective material rendering
Texture and Shadow Mapping
CS5500 Computer Graphics May 29, 2006
CS-378: Game Technology Lecture #4: Texture and Other Maps
Texture Mapping 고려대학교 컴퓨터 그래픽스 연구실.
Chapter 14 Shading Models.
CIS 441/541: Introduction to Computer Graphics Lecture 15: shaders
Smoother Subsurface Scattering
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
Presentation transcript:

ADVANCED SKIN SHADING WITH FACEWORKS Nathan Reed — NVIDIA March 24, 2014

DIGITAL IRA Tech demo Collaboration with Dr. Paul Debevec at USC Lots of other inspiring work on skin & eyes [Penner10], [Jimenez12], [Jimenez13]

THE FACEWORKS API Middleware lib Integrate advanced skin shading in your game engine Goal: enable quality that matches Digital Ira This is a preview!

FEATURES Subsurface scattering (SSS) One-pass solution based on [Penner10] Both direct and ambient light Deep scatter Based on thickness from shadow map [Green07] Direct light only, so far D3D11 only, so far

SSS COMPONENTS Geometric curvature Normal maps Shadow edges Ambient

SSS 1/4: GEOMETRIC CURVATURE Precompute curvature per vertex (1 float) Use bind pose of mesh Precompute a LUT (lookup texture) For a given range of curvatures Based on diffusion profile [d’Eon07] In PS, sample LUT based on curvature & N·L

SSS 2/4: NORMAL MAPS In PS, sample the normal map twice Once as usual Once with higher mip level Precompute mesh UV scale Combine lighting from both normals & curvature

SSS 3/4: SHADOWS Wide shadow filter PCF, VSM, ESM, etc. Not contact-hardening — want consistent filter radius Precompute a LUT Sharpens shadows Adds red glow in shadowed area In PS, sample LUT based on shadow result

SSS 4/4: AMBIENT In PS, generate 3 normal vectors Combine blurred & unblurred normals Eval ambient light for each normal Combine 3 lighting values

DEEP SCATTER Estimate thickness from shadow map Helper functions for standard depth maps Inward normal offset to fix silhouette edge issues Poisson disk filter Apply falloff function using thickness & N·L Multiply by texture for veins, bones etc.

RECAP Precomputed Per-vertex curvature Per-mesh UV scale Curvature LUT Shadow LUT Pixel Shader Interpolate curvature Sample normal twice Wide shadow filter Eval ambient 3 times Estimate thickness

INTEGRATION C API &.dll, link into your engine & tools Precompute data Set graphics state per draw HLSL API, #include into your shaders Evaluate lighting in PS

INTEGRATION Look up bind points using shader reflection Create context object Per draw: fill out config struct, set state

PERFORMANCE (lower is better)

FUTURE WORK Ambient-light deep scatter Specular model for skin Including occlusion Eye rendering Customizable diffusion profiles Support more APIs/platforms OpenGL, Mobile, Consoles

FEEDING THE RENDERER Need high-quality models and textures for good results! LPS head: 18K tris (before tess), 4K textures Normal map should not be softened Need strong bumps for specular The shader will soften the diffuse Head scans are great, if within your means

EXTRA GOODIES IN THE SAMPLE APP Physically-based shading Blinn-Phong NDF, Schlick-Smith visibility, Schlick Fresnel 2-lobe specular [Jimenez13] IBL with preconvolved cubemaps [Lagarde11] Filmic tonemapping [Hable10] Adaptive tessellation More polygons where curvature is high

REFERENCES d’Eon & Luebke, “Advanced Techniques for Realistic Real-Time Skin Rendering”, GPU Gems 3 (2007) Green, “Real-Time Approximations to Subsurface Scattering”, GPU Gems 3 (2007) Hable, “Uncharted 2 HDR Lighting”, GDC 2010 Jimenez et al, “Separable Subsurface Scattering and Photorealistic Eyes Rendering”, SIGGRAPH 2012 Jimenez & von der Pahlen, “Next-Generation Character Rendering”, GDC 2013 Lagarde, “Adopting a physically based shading model”, blog post (2011) Penner, “Pre-Integrated Skin Shading”, SIGGRAPH 2010