Wednesday, July 24, 13

Similar documents
Physically Based Shading in Unity. Aras Pranckevičius Rendering Dude

Lighting Killzone : Shadow Fall

GUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON

Computer Graphics (CS 543) Lecture 10: Normal Maps, Parametrization, Tone Mapping

The Making of Seemore WebGL. Will Eastcott, CEO, PlayCanvas

Extending the Disney BRDF to a BSDF with Integrated Subsurface Scattering. Brent Burley Walt Disney Animation Studios

Here I ll present a brief summary of the important aspects and then dive into improvements we made on Black Ops II.

Shading, lighting, & BRDF Theory. Cliff Lindsay, PHD

Game Technology. Lecture Physically Based Rendering. Dipl-Inform. Robert Konrad Polona Caserman, M.Sc.

Interactive Cloth Simulation. Matthias Wloka NVIDIA Corporation

Complex Shading Algorithms

Lighting and Materials

Life on the Bleeding Edge: More Secrets of the NVIDIA Demo Team Eugene d Eon NVIDIA Corporation.

CS 5625 Lec 2: Shading Models

Lab 9 - Metal and Glass

Department of Computer Engineering 3D Graphics in Games and Movies

Bringing AAA graphics to mobile platforms. Niklas Smedberg Senior Engine Programmer, Epic Games

of the NVIDIA Demo Team Eugene d Eon 2008 NVIDIA Corporation.

Computer Graphics (CS 543) Lecture 10: Soft Shadows (Maps and Volumes), Normal and Bump Mapping

Lecture 4: Reflection Models

GLOBAL ILLUMINATION IN UNITY 5

The Vegetation of Horizon Zero Dawn. Gilbert Sanders Principal Artist, Guerrilla Games

Background: Physics and Math of Shading

OpenGl Pipeline. triangles, lines, points, images. Per-vertex ops. Primitive assembly. Texturing. Rasterization. Per-fragment ops.

Pipeline Operations. CS 4620 Lecture 14

Canonical Shaders for Optimal Performance. Sébastien Dominé Manager of Developer Technology Tools

Surface Reflection Models

Local Reflection Models

Interactive Methods in Scientific Visualization

Graphics Performance Optimisation. John Spitzer Director of European Developer Technology

rendering rasterization based rendering pipelined architecture, parallel mostly triangles (lines and points possible too)

CocoVR - Spherical Multiprojection

Bringing Hollywood to Real Time. Abe Wiley 3D Artist 3-D Application Research Group

Mali Demos: Behind the Pixels. Stacy Smith

Applications of Explicit Early-Z Z Culling. Jason Mitchell ATI Research

Shading & Material Appearance

Shading 1: basics Christian Miller CS Fall 2011

Render all data necessary into textures Process textures to calculate final image

Computer Graphics. Illumination and Shading

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker

Pipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11

CSE 167: Lecture #7: Color and Shading. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

Game Graphics Programmers

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

CSE 681 Illumination and Phong Shading

Illumination & Shading: Part 1

V-RAY NEXT FOR 3DS MAX

RND102 - Intro to Path Tracing & RIS in RenderMan

Real-Time Universal Capture Facial Animation with GPU Skin Rendering

CS 498 VR. Lecture 19-4/9/18. go.illinois.edu/vrlect19

Drawing a Crowd. David Gosselin Pedro V. Sander Jason L. Mitchell. 3D Application Research Group ATI Research

CSE 167: Lecture #8: GLSL. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

Computer Graphics (CS 563) Lecture 4: Advanced Computer Graphics Image Based Effects: Part 2. Prof Emmanuel Agu

AWE Surface 1.0 Documentation

MAXIS-mizing Darkspore*: A Case Study of Graphic Analysis and Optimizations in Maxis Deferred Renderer

ECS 175 COMPUTER GRAPHICS. Ken Joy.! Winter 2014

Real-Time Rendering of a Scene With Many Pedestrians

Optimized Rendering Techniques Based on Local Cubemaps

Pipeline Operations. CS 4620 Lecture 10

CMSC427 Shading Intro. Credit: slides from Dr. Zwicker

Deferred Rendering Due: Wednesday November 15 at 10pm

CSE 167: Introduction to Computer Graphics Lecture #6: Lights. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016

Illumination and Shading

Mattan Erez. The University of Texas at Austin

Property of: Entrada Interactive. PBR Workflow. Working within a PBR-based environment

Point based global illumination is now a standard tool for film quality renderers. Since it started out as a real time technique it is only natural

Mahdi M. Bagher / Cyril Soler / Nicolas Holzschuch Maverick, INRIA Grenoble-Rhône-Alpes and LJK (University of Grenoble and CNRS)

Lighting and Shading

Render - Cycles Render Engine - Nodes

Orthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015

Outline of Lecture. Real-Time High Quality Rendering. Geometry or Vertex Pipeline. Basic Hardware Pipeline. Pixel or Fragment Pipeline

Scalable multi-gpu cloud raytracing with OpenGL

Computer Graphics (CS 543) Lecture 7b: Intro to lighting, Shading and Materials + Phong Lighting Model

Shading. Brian Curless CSE 457 Spring 2017

Optimizing and Profiling Unity Games for Mobile Platforms. Angelo Theodorou Senior Software Engineer, MPG Gamelab 2014, 25 th -27 th June

GeForce4. John Montrym Henry Moreton

02 Shading and Frames. Steve Marschner CS5625 Spring 2016

CS 450: COMPUTER GRAPHICS TEXTURE MAPPING SPRING 2015 DR. MICHAEL J. REALE

CS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions. The Midterm Exam was given in class on Thursday, October 23, 2008.

BRDF Computer Graphics (Spring 2008)

AGDC Per-Pixel Shading. Sim Dietrich

Whiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME)

Illumination. Illumination CMSC 435/634

-=Bui Tuong Phong's Lighting=- University of Utah, but with shaders. Anton Gerdelan Trinity College Dublin

Due to time constraints, I will be brief. You can check the slides for more details later.

Visual Appearance and Color. Gianpaolo Palma

Today. Global illumination. Shading. Interactive applications. Rendering pipeline. Computergrafik. Shading Introduction Local shading models

Shading Shades. Frank Jargstorff. June 1, Abstract

Advanced d Computer Graphics CS 563: Real Time Ocean Rendering

Topic 9: Lighting & Reflection models 9/10/2016. Spot the differences. Terminology. Two Components of Illumination. Ambient Light Source

CHAPTER 1 Graphics Systems and Models 3

CSE 167: Introduction to Computer Graphics Lecture #7: Lights. Jürgen P. Schulze, Ph.D. University of California, San Diego Spring Quarter 2015

Adding Spherical Harmonic Lighting to the Sushi Engine. Chris Oat 3D Application Research Group. ATI Research, Inc.

CS230 : Computer Graphics Lecture 4. Tamar Shinar Computer Science & Engineering UC Riverside

Introduction to Visualization and Computer Graphics

The Rasterization Pipeline

Topic 9: Lighting & Reflection models. Lighting & reflection The Phong reflection model diffuse component ambient component specular component

After the release of Maxwell in September last year, a number of press articles appeared that describe VXGI simply as a technology to improve

Technical Game Development II. Reference: Rost, OpenGL Shading Language, 2nd Ed., AW, 2006 The Orange Book Also take CS 4731 Computer Graphics

Computer Graphics (CS 4731) Lecture 16: Lighting, Shading and Materials (Part 1)

Transcription:

The Chase Pushing the Limits of Modern Mobile GPU Renaldas Zioma, Unity Technologies Ole Ciliox, Unity Technologies

The Chase High-End Mobile Demo Built with off-the-shelf Unity 4.2

The Chase Goals Impressive Skin Shading High Poly Count No Screen Upscaling 2048 x 1536 Approach OpenGL ES3.0

Target Hardware SGX 543-554 (ipad4) Adreno 320-330 Tegra 4 Mali T62x 5

Overview 250-300K vertices per frame ~10% of GPU workload 40K vertices per character Subsurface Scattering ~5% of GPU workload 1/4 screen resolution Skin shading ~50% of GPU workload (in close-up)

Other features Hair /w procedural animations Atmospheric scattering Anamorphic Lens Flares on GPU Metalic ish surfaces >30fps on ipad4 7

Skin Requirements Sub-surface scattering Physically based shading 2 specular lobes Reflections Linear lighting Based on experience from Butterfly Effect High-end PC Demo 8

Skin Quality One observation for realistic skin Specular behavior... together with Fresnel and reflections...... is equally (and potentially even more) important than diffuse/scattering Want! High quality specular 2 specular lobes

Skin Controls 10

(Mobile) Reality Sub-surface scattering in multiple layers doable render incoming light in screen-space buffer and blur low resolution Physically based shading hard mobile GPUs are still very limited on ALU performance even simplest energy conserving Blinn-Phong requires a lot of ALU

Mobile Reality Per-pixel reflections expensive require per-pixel normals to be transformed from Tangent to World space Linear lighting (srgb) OpenGL ES3.0 provides builtin support still might be impractical on available mobile GPU fullscreen linear to srgb resolve very high screen resolution potentially more memory bandwidth

Implementation considerations Expensive shading & lighting Let's precompute as much possible offline... and store results in Look Up Texture (LUT) Linear lighting Let's do where it matters most... only in skin shader

PBS approximation with LUT CookTorrance BRDF defined as would need at least 3D texture for isotropic case Micro-facet model simplifications Beckmann + Fresnel not from light! + very approximate G term Christian Schüler s approximation of CookTorrance [Schüler09]

PBS approximation with LUT icro-facet model simplifications Beckmann + Fresnel not from light! + very approximate G term Christian Schüler s approximation of CookTorrance [Schüler09]

PBS approximation with LUT Encode roughness in mip-chain or treat as constant per material (approach we took) Now both can be stored in 2D texture! Pick whichever you like Schüler uses BRDF slice that captures most information [Disney12] We observed that artist preferred unrealistic Fresnel falloff for skin - parabola! Much cheaper than Schlick's approximation - could avoid storing in LUT

PBS approximation with LUT Schüler uses BRDF slice that captures most information [Disney12] Image courtesy of Brent Burley and Walt Disney Animation Studios

Skin LUT layout Data stored in separate channels: Fresnel term 1st specular lobe 2nd specular lobe Diffuse energy conservation term reflected vs scattered (diffused) energy 32 x 128 texture 18

SSSSS (yep, abbreviation) Pretty much standard screen-space texture diffusion technique 1) Render lighting to off-screen texture (1/4 resolution) 2) Blur 3) Apply in final pixel-shader as ambient term 19

SSSSS Blur Alpha channel as mask to prevent leaking from "oustide" the skin Convert bounding volumes of geometry to nonoverlapping screen-space quads blur only inside quad 20

Linear lighting Approximate srgb with 2.0 to avoid pow() function pow() is still very expensive on mobiles Use only in the final pass of the skin shader srgb -> linear for albedo and reflection texture linear -> srgb for pixel output 21

Final Skin shader pass Putting it all together LUT 4 channels Fresnel term Yfresnel 1st specular lobe Ylobe1 2nd specular lobe Ylobe2 Diffuse energy conservation term Ydiffusion 22

Skin shader trade-offs 1 dominant per-pixel light Rest of lights per-vertex Spherical Harmonics per-vertex Cubemap reflection /w per-vertex normal 23

Skin shader stats 4 independent texture reads albedo+reflectivity map normal map reflection cubemap SSS buffer 1 dependent texture read (LUT) 44 ALU ops (4 dot, 1 normalize, 1 sqrt, etc) actually not bad texture / ALU balance for ipad4 24

Eyes Same approach as skin except we do not render eye contribution into SSS buffer otherwise eyes tend to "stick out" Parallax offset to model refraction inside eye lens 25

Atmospheric Scattering Requirements Rayleigh / Mie scattering Sun haze Blends with skybox 26

Mobile Reality Rayleigh / Haze evaluating Rayleigh is not cheap even if per-vertex would like to have per-pixel fog Fog blends with skybox standard trick is to store distant fog colors in cubemap if possible, would like to avoid that additional cubemap 27

LUT again! Precompute resulting color and amount of scattering in LUT 2D LUT angle to sun distance to fragment 128x128 texture 28

Details Mixed sun haze and distance scattering in nonphysically correct, but visually pleasing way linear combination driven by relative luminance of both components 29

Details Eventually abandoned physically based scattering instead exposed arbitrary 1D curve added additional term that warps scattering amount depending on height Tinted atmospheric scattering in the opposite direction from the sun with color defined by artist adds more color variation uses half of LUT where angle to sun is greater than 90 degrees 30

Skybox Simply evaluate scattering & haze at infinite distance blend into skybox depending on height Cheaper than using fog color from cubemap but more destructive for skybox 31

Environment shader stats 3-4 independent texture reads albedo+reflectivity map reflection cubemap lightmap (optional) projected shadow 1 dependent texture read (atmospheric LUT) Additional coarse color and reflectivity stored in vertex colors 13-19 ALU ops potentially underutilized ALU 32

Thank you! Useful link: http://unity3d.com/company/jobs/