Real-time skin rendering on graphics hardware

Similar documents
Advances in Real-Time Skin Rendering

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

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

INTRODUCTION TO RENDERING TECHNIQUES

Lezione 4: Grafica 3D*(II)

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

Making natural looking Volumetric Clouds In Blender 2.48a

Advanced Visual Effects with Direct3D

Image Synthesis. Transparency. computer graphics & visualization

Lighting & Rendering in Maya: Lights and Shadows

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

Computer Graphics Global Illumination (2): Monte-Carlo Ray Tracing and Photon Mapping. Lecture 15 Taku Komura

High Dynamic Range and other Fun Shader Tricks. Simon Green

Computer Applications in Textile Engineering. Computer Applications in Textile Engineering

Dynamic Resolution Rendering

Computer Animation: Art, Science and Criticism

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

SkillsUSA 2014 Contest Projects 3-D Visualization and Animation

Deferred Shading & Screen Space Effects

Modern Graphics Engine Design. Sim Dietrich NVIDIA Corporation

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

Touchstone -A Fresh Approach to Multimedia for the PC

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

Using Photorealistic RenderMan for High-Quality Direct Volume Rendering

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

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

IT 386: 3D Modeling and Animation. Review Sheet. Notes from Professor Nersesian s IT 386: 3D Modeling and Animation course

Maya 2014 Still Life Part 1 Texturing & Lighting

Volume Rendering on Mobile Devices. Mika Pesonen

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

Visualization and Feature Extraction, FLOW Spring School 2016 Prof. Dr. Tino Weinkauf. Flow Visualization. Image-Based Methods (integration-based)

OpenGL Performance Tuning

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

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

Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group

Image Synthesis. Fur Rendering. computer graphics & visualization

3D Math Overview and 3D Graphics Foundations

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

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

NVIDIA IndeX Enabling Interactive and Scalable Visualization for Large Data Marc Nienhaus, NVIDIA IndeX Engineering Manager and Chief Architect

Optimizing AAA Games for Mobile Platforms

Water Flow in. Alex Vlachos, Valve July 28, 2010

BCC Multi Stripe Wipe

GPU Shading and Rendering: Introduction & Graphics Hardware

The Future Of Animation Is Games

Radeon HD 2900 and Geometry Generation. Michael Doggett

Software Virtual Textures

Computer-Generated Photorealistic Hair

Materials in NX Render

Introduction to Computer Graphics

Enhanced LIC Pencil Filter

GPU Christmas Tree Rendering. Evan Hart

Adding Animation With Cinema 4D XL

Specular reflection. Dielectrics and Distribution in Ray Tracing. Snell s Law. Ray tracing dielectrics

Graphical displays are generally of two types: vector displays and raster displays. Vector displays

Texture Screening Method for Fast Pencil Rendering

Introduction Week 1, Lecture 1

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,

Getting Started with iray in 3ds Max 2014

Advanced Rendering for Engineering & Styling

CS130 - Intro to computer graphics. Dr. Victor B. Zordan vbz@cs.ucr.edu Objectives

Computer Graphics. Anders Hast

A Crash Course on Programmable Graphics Hardware

Illuminating With HDRI

COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies

Rally Sport Racing Game: CodeName Space Racer

CAUSTICS are complex patterns of shimmering

Scan-Line Fill. Scan-Line Algorithm. Sort by scan line Fill each span vertex order generated by vertex list

Working with the BCC Clouds Generator

A Short Introduction to Computer Graphics

GPU Architecture. Michael Doggett ATI

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

Lighting Estimation in Indoor Environments from Low-Quality Images

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

2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT

Approval Sheet. Interactive Illumination Using Large Sets of Point Lights

CIS 536/636 Introduction to Computer Graphics. Kansas State University. CIS 536/636 Introduction to Computer Graphics

An introduction to Global Illumination. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology

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

Interactive visualization of multi-dimensional data in R using OpenGL

Path Tracing Overview

MicroStation V8i Training Manual 3D Level 3

Introduction to GPGPU. Tiziano Diamanti

Renderman on Film Combining CG & Live Action using Renderman with examples from Stuart Little 2

Procedural Shaders: A Feature Animation Perspective

ACE: After Effects CC

The RADIANCE Lighting Simulation and Rendering System

Outline. srgb DX9, DX10, XBox 360. Tone Mapping. Motion Blur

My Materials. In this tutorial, we ll examine the material settings for some simple common materials used in modeling.

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

White Paper. Advances in Imaging to Improve Output Quality. April The Xerox Versant and EFI Fiery Digital Front End.

Instructor. Goals. Image Synthesis Examples. Applications. Computer Graphics. Why Study 3D Computer Graphics?

Efficient View-Dependent Image-Based Rendering with Projective Texture-Mapping

MicroStation Visualization V8i (SELECTseries 1) Luxology Update 1

Transcription:

Real-time skin rendering on graphics hardware Pedro V. Sander David Gosselin Jason L. Mitchell ATI Research

Skin shading Most lighting comes from sub-surface scattering Traditional Lambertian lighting model is designed for hard surfaces with no subsurface scattering so it doesn t work well for skin

Rough cross section Air Epidermis Dermis Bone, muscle, guts, etc.

Our objective Develop a simple, efficient skin rendering algorithm for a real-time demo using ATI hardware Must be very fast, as it is one of several rendering techniques used concurrently in the demo Results that approximate sub-surface scattering

Texture-space lighting Render diffuse lighting into an off-screen texture using texture coordinates as position Blur the off-screen diffuse lighting Read the texture back and add specular lighting in a subsequent final pass We used a bump map for the specular lighting pass only

Previous work From Realistic Human Face Rendering for The Matrix Reloaded @ SIGGRAPH 2003: From Matrix: Reloaded sketch Our results: Current skin in Real Time

Previous work [Borshukov03] Texture lighting-based method almost everywhere Used traditional ray tracing for areas where light can pass all the way through (e.g. ears) We cannot afford to do that in real-time [Mertens03] Similar image-space real-time technique using importance sampling of BSSRDF

Outline Algorithm overview Texture space lighting Blur operation Dilation Shadows Soft shadows Translucent shadows Acceleration techniques Early-Z culling

Basic approach Light in Texture Space Blur Geometry Sample texture space light Back Buffer

Standard lighting model

Blurred lighting model

Rendering to texture Light as a 3D model Draw into texture Pass texture coordinates as position Rasterizer does the unwrap

Spatially varying blur Used to simulate the subsurface component of skin lighting Used a growable Poisson disc filter Read the kernel size from a texture Allows varying the subsurface effect Higher for places like ears/nose Lower for places like cheeks

Filter kernel Stochastic sampling Poisson distribution Samples stored as 2D offsets from center Center Sample Outer Samples Small Blur Large Blur

Blur kernel size map and blurred lit texture Blur Kernel Size Map Texture Space Lighting Result

Dilation Texture seams can be a problem (unused texels, bilinear blending artifacts) During the blur pass we need to dilate Use alpha channel of off-screen texture If any sample has 1.0 alpha, just copy the sample with the lowest alpha

Dilation Results Without Dilation With Dilation

Rim light We wanted to further emphasize the light that bleeds through the skin when backlit Compute the dot product between the negative light vector and the view vector Multiply result by Fresnel term Only shows up if there is a light roughly behind the object

Added rim light result No Rim Light + = Just Rim Light Lighting + Rim Light

Shadows Used shadow maps Apply shadows during texture lighting Get free blur Soft shadows Simulates subsurface interaction Lower precision/size requirements Reduces artifacts Only doing shadows from one key light If using multiple lights, still same # of blur passes

Shadow maps Create projection matrix to generate map from the light s point of view Used bounding sphere of head to ensure texture space is used efficiently Shadow map rendering pass: Write depth into off-screen texture On texture lighting pass: Test depth values in pixel shader

Basic approach + shadows Generate shadow map Light in texture space Blur Geometry Sample texture space light Back Buffer

Shadow map and shadowed lit texture Shadow Map (depth) Shadows in Texture Space

Results with shadows

Shadows from translucent objects Algorithm: Draw depth of opaque shadow geometry to shadow buffer alpha channel Aditively blend RGB of translucent shadow geometry into shadow buffer RGB channels Depth test on Depth write off On texture lighting pixel shader: non-shadowed pixels are multiplied by the translucent RGB value

Basic approach + shadows Transparent geometry Blend translucency into shadow map Generate shadow map Opaque geometry Light in texture space Blur Sample texture space light Back Buffer

Shadow map for transparent shadows Opaque shadow map Translucent shadow map RGB

Translucent shadows results Opaque Shadows Translucent Shadows

Specular Use bump map for specular lighting Per-pixel exponent Need to shadow specular Can t have shadowed region with specular lighting spots Expensive to do yet another blur pass for shadows Use luminance of blurred diffuse texture Modulate specular from shadowing light by luminance of texture space light (which very low-frequency) Darkens specular in shadowed areas but preserves lighting in unshadowed areas Not a limitation, just an optimization One could do a separate blur pass for shadows

Specular shadow dim results Specular without shadows Specular with shadows

Using Early-Z Z for Culling Testing z-buffer prior to pixel shader execution Can cull expensive pixel shaders Only applicable when pixel shader does not output depth This texture-space operation doesn t need the z buffer for hidden surface removal Can store any value of Z buffer Use Early-Z to cull computations Back face culling Distance and frustum culling Set z buffer on lighting pass according to frustum, distance from viewer, and facing-ness of polygons Set the z test such that non-visible polygons fail Z test Reduces cost of image-space blurs in regions that don t need it

Back Face Culling Back facing pixels culled using early-z Over the shoulder view of Ruby

Summary Simple and fast skin rendering algorithm Texture-space blur with dilation Soft shadows for free Translucent shadows Early-Z culling acceleration techniques

Acknowledgements Thanks to Eli Turner for help with the artwork Thanks to Chris Brennan for the colored translucent shadows suggestion

References [Borshukov03] Borshukov and Lewis. Realistic Human Face Rendering for The Matrix Reloaded. Technical Sketches, SIGGRAPH 2003. [Mertens03] Mertens et al. Efficient Rendering of Local Subsurface Scattering. Pacific Graphics 2003.

Demo

Questions? Questions?