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

Similar documents
Advances in Real-Time Skin Rendering

Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group

Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

Optimizing AAA Games for Mobile Platforms

High Dynamic Range and other Fun Shader Tricks. Simon Green

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg

INTRODUCTION TO RENDERING TECHNIQUES

Recent Advances and Future Trends in Graphics Hardware. Michael Doggett Architect November 23, 2005

Computer Applications in Textile Engineering. Computer Applications in Textile Engineering

Deferred Shading & Screen Space Effects

Procedural Shaders: A Feature Animation Perspective

Modern Graphics Engine Design. Sim Dietrich NVIDIA Corporation

CSE 564: Visualization. GPU Programming (First Steps) GPU Generations. Klaus Mueller. Computer Science Department Stony Brook University

OpenGL Performance Tuning

Optimizing Unity Games for Mobile Platforms. Angelo Theodorou Software Engineer Unite 2013, 28 th -30 th August

Course Overview. CSCI 480 Computer Graphics Lecture 1. Administrative Issues Modeling Animation Rendering OpenGL Programming [Angel Ch.

Dynamic Resolution Rendering

CUBE-MAP DATA STRUCTURE FOR INTERACTIVE GLOBAL ILLUMINATION COMPUTATION IN DYNAMIC DIFFUSE ENVIRONMENTS

The Future Of Animation Is Games

NVFX : A NEW SCENE AND MATERIAL EFFECT FRAMEWORK FOR OPENGL AND DIRECTX. TRISTAN LORACH Senior Devtech Engineer SIGGRAPH 2013

Computer Graphics. Introduction. Computer graphics. What is computer graphics? Yung-Yu Chuang

GPU Shading and Rendering: Introduction & Graphics Hardware

Hi everyone, my name is Michał Iwanicki. I m an engine programmer at Naughty Dog and this talk is entitled: Lighting technology of The Last of Us,

GPUs Under the Hood. Prof. Aaron Lanterman School of Electrical and Computer Engineering Georgia Institute of Technology

The Evolution of Computer Graphics. SVP, Content & Technology, NVIDIA

GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series. By: Binesh Tuladhar Clay Smith

GPGPU Computing. Yong Cao

How To Understand The Power Of Unity 3D (Pro) And The Power Behind It (Pro/Pro)

PRODUCT LIFECYCLE MANAGEMENT COMPETENCY CENTRE RENDERING. PLMCC, JSS Academy of Technical Education, Noida Rendering 1 of 16

DATA VISUALIZATION OF THE GRAPHICS PIPELINE: TRACKING STATE WITH THE STATEVIEWER

What is GPUOpen? Currently, we have divided console & PC development Black box libraries go against the philosophy of game development Game

Getting Started with iray in 3ds Max 2014

GUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1

LightWave IO.1 What s New

MicroStation Visualization V8i (SELECTseries 1) Luxology Update 1

NVPRO-PIPELINE A RESEARCH RENDERING PIPELINE MARKUS TAVENRATH MATAVENRATH@NVIDIA.COM SENIOR DEVELOPER TECHNOLOGY ENGINEER, NVIDIA

First, let me do a super fast introduction,

How To Make A Texture Map Work Better On A Computer Graphics Card (Or Mac)

3D Computer Games History and Technology

Real-Time Realistic Rendering. Michael Doggett Docent Department of Computer Science Lund university

Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007

GPGPU: General-Purpose Computation on GPUs

Introduction to Computer Graphics

Approval Sheet. Interactive Illumination Using Large Sets of Point Lights

1.4 Pixel Shaders. Jason L. Mitchell. 3D Application Research Group Lead 1.4 Pixel Shaders - ATI Technologies 1

Using Photorealistic RenderMan for High-Quality Direct Volume Rendering

Advanced Visual Effects with Direct3D

Image Synthesis. Fur Rendering. computer graphics & visualization

nvfx: A New Shader-Effect Framework for OpenGL, DirectX and Even Compute Tristan Lorach ( tlorach@nvidia.com )

Flame On: Real-Time Fire Simulation for Video Games. Simon Green, NVIDIA Christopher Horvath, Pixar

Writing Applications for the GPU Using the RapidMind Development Platform

The Comprehensive PBR Guide by Allegorithmic - vol. 1. Light and Matter : The theory of Physically-Based Rendering and Shading

Making Dreams Come True: Global Illumination with Enlighten. Graham Hazel Senior Product Manager Sam Bugden Technical Artist

A.R.I.S.E. Architectural Real-time Interactive Showing Environment. Supervisor: Scott Chase

2004 Valve Corporation. All rights reserved. Valve, the Valve logo, Valve Source, the Source logo, Valve Hammer Editor, Half-Life, and Steam are

Cartoon-Looking Rendering of 3D-Scenes

REAL-TIME IMAGE BASED LIGHTING FOR OUTDOOR AUGMENTED REALITY UNDER DYNAMICALLY CHANGING ILLUMINATION CONDITIONS

GPU-Driven Rendering Pipelines

Shadows. Shadows. Thanks to: Frédo Durand and Seth Teller MIT. Realism Depth cue

Plug-in Software Developer Kit (SDK)

Acceleration Methods for Ray Tracing based Global Illumination

Advanced Rendering for Engineering & Styling

Performance Optimization and Debug Tools for mobile games with PlayCanvas

Lighting & Rendering in Maya: Lights and Shadows

GPU Christmas Tree Rendering. Evan Hart

How To Teach Computer Graphics

3D Stereoscopic Game Development. How to Make Your Game Look

Poser Lighting Tips Part 2: IBL / HDR Lights

Programming 3D Applications with HTML5 and WebGL

Introduction to Game Programming. Steven Osman

Optimization for DirectX9 Graphics. Ashu Rege

SkillsUSA 2014 Contest Projects 3-D Visualization and Animation

Data Visualization Using Hardware Accelerated Spline Interpolation

Our One-Year 3D Animation Program is a comprehensive training in 3D using Alias

Radeon HD 2900 and Geometry Generation. Michael Doggett

Recent Advances in Light Transport Simulation: Some Theory and a lot of Practice

Quick Tutorial. Overview. The NVIDIA Software Improvement Program. Creating an Effect

Medical Image Processing on the GPU. Past, Present and Future. Anders Eklund, PhD Virginia Tech Carilion Research Institute

Volume Rendering on Mobile Devices. Mika Pesonen

A Short Introduction to Computer Graphics

OpenGL Insights. Edited by. Patrick Cozzi and Christophe Riccio

Introduction GPU Hardware GPU Computing Today GPU Computing Example Outlook Summary. GPU Computing. Numerical Simulation - from Models to Software

Silhouette Extraction Bruce Gooch, University of Utah

So, you want to make a photo-realistic rendering of the Earth from orbit, eh? And you want it to look just like what astronauts see from the shuttle

Tutorial 9: Skeletal Animation

NVIDIA Material Definition Language 1.1

BRINGING UNREAL ENGINE 4 TO OPENGL Nick Penwarden Epic Games Mathias Schott, Evan Hart NVIDIA

D animation. Advantages of 2-D2. Advantages of 3-D3. Related work. Key idea. Applications of Computer Graphics in Cel Animation.

Transcription:

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

GPU Time (normalized) PERFORMANCE (lower is better) 2.21 1.00 1.29 1.37 1.52 No FaceWorks SSS SSS + Deep (1 tap) SSS + Deep (8 taps) SSS + Deep (32 taps)

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

BACKUP SLIDES

INTEGRATION WALKTHROUGH 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 WALKTHROUGH In tools: Precompute curvature & UV scale for each model Look up bind points for constant buffers etc. in shaders Generate curvature & shadow LUTs Can also just be done once and checked in

INTEGRATION WALKTHROUGH In engine: Create a context Fill out config struct Set state before draw call

INTEGRATION WALKTHROUGH In pixel shader: Get mip level for blurred normal Sample normal twice Evaluate direct light Evaluate shadow Get 3 normals for ambient Evaluate ambient light Estimate thickness Evaluate deep scatter

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