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

Similar documents
Ruby: Dangerous Curves Effects Breakdown: How d they do that? Dan Ginsburg 3D Application Research Group

Real-Time Universal Capture Facial Animation with GPU Skin Rendering

GUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON

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

CS 354R: Computer Game Technology

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

Other Rendering Techniques CSE 872 Fall Intro You have seen Scanline converter (+z-buffer) Painter s algorithm Radiosity CSE 872 Fall

Render methods, Compositing, Post-process and NPR in NX Render

COMP371 COMPUTER GRAPHICS

Dynamic Ambient Occlusion and Indirect Lighting. Michael Bunnell NVIDIA Corporation

Z-Buffer hold pixel's distance from camera. Z buffer

Designing the look and feel for Smoke and Neon powers The creation of a new toolset and pipeline for I:SS Pros and cons from our new workflow and

Applications of Explicit Early-Z Culling

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

Computer Graphics. Lecture 14 Bump-mapping, Global Illumination (1)

Introduction. Chapter Computer Graphics

Computer Graphics. Shadows

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

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

Soft shadows. Steve Marschner Cornell University CS 569 Spring 2008, 21 February

Shadow Techniques. Sim Dietrich NVIDIA Corporation

Game Graphics Programmers

Computer Graphics 10 - Shadows

Flowmap Generator River Tutorial

Chapter 9- Ray-Tracing

Real Time Skin Rendering

Enabling immersive gaming experiences Intro to Ray Tracing

Real-Time Rendering of a Scene With Many Pedestrians

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

Rendering Algorithms: Real-time indirect illumination. Spring 2010 Matthias Zwicker

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

Opaque. Flowmap Generator 3

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

Dominic Filion, Senior Engineer Blizzard Entertainment. Rob McNaughton, Lead Technical Artist Blizzard Entertainment

The Application Stage. The Game Loop, Resource Management and Renderer Design

AGDC Per-Pixel Shading. Sim Dietrich

Rasterization Overview

3D Rasterization II COS 426

Deferred Rendering Due: Wednesday November 15 at 10pm

LIGHTING - 1. Note. Lights. Ambient occlusion

ART 268 3D Computer Graphics Texture Mapping and Rendering. Texture Mapping

Learning Autodesk Maya The Special Effects Handbook. Free Model From Turbo Squid Value US $ Official Autodesk Training Guide

CS354R: Computer Game Technology

Recall: Indexing into Cube Map

Chapter 5- Materials & Textures

The Animation Process. Lighting: Illusions of Illumination

Michal Valient Lead Tech Guerrilla Games

03 RENDERING PART TWO

Consider a partially transparent object that is illuminated with two lights, one visible from each side of the object. Start with a ray from the eye

Fast Calculation of Soft Shadow Textures Using Convolution

3D Rendering Pipeline

Projective Shadows. D. Sim Dietrich Jr.

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

Texture. Texture Mapping. Texture Mapping. CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture

CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture

Interactive Methods in Scientific Visualization

character design pipeline) callum.html

Graphics for VEs. Ruth Aylett

Topic 12: Texture Mapping. Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping

COM337 COMPUTER GRAPHICS Other Topics

Chapter 6- Lighting and Cameras

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

Advanced Shading I: Shadow Rasterization Techniques

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

Global Illumination CS334. Daniel G. Aliaga Department of Computer Science Purdue University

This work is about a new method for generating diffusion curve style images. Although this topic is dealing with non-photorealistic rendering, as you

Topic 11: Texture Mapping 11/13/2017. Texture sources: Solid textures. Texture sources: Synthesized

3D Production Pipeline

Shadows in the graphics pipeline

Computergrafik. Matthias Zwicker. Herbst 2010

Announcements. Written Assignment 2 out (due March 8) Computer Graphics

Surface Detail Maps with Soft Self- Shadowing. Chris Green, VALVE

2D & 3D Animation NBAY Donald P. Greenberg March 21, 2016 Lecture 7

LEVEL 1 ANIMATION ACADEMY2010

Ray Tracing. CSCI 420 Computer Graphics Lecture 15. Ray Casting Shadow Rays Reflection and Transmission [Ch ]

Topic 11: Texture Mapping 10/21/2015. Photographs. Solid textures. Procedural

Render-To-Texture Caching. D. Sim Dietrich Jr.

Advanced Maya e Texturing. and Lighting. Second Edition WILEY PUBLISHING, INC.

Wednesday, July 24, 13

Getting fancy with texture mapping (Part 2) CS559 Spring Apr 2017

Illumination and Geometry Techniques. Karljohan Lundin Palmerius

Atmospheric Reentry Geometry Shader

Screen Space Ambient Occlusion TSBK03: Advanced Game Programming

Real Time Skin Rendering

Three-Dimensional Computer Animation

Working with the BCC Bump Map Generator

Graphics and Interaction Rendering pipeline & object modelling

TSBK03 Screen-Space Ambient Occlusion

Graphics for VEs. Ruth Aylett

Global Illumination The Game of Light Transport. Jian Huang

Department of Computer Engineering 3D Graphics in Games and Movies

materials, we instead focus on recreating the important visual aspects of these kinds of materials:

GLOBAL ILLUMINATION IN UNITY 5

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

Chapter 10 Computation Culling with Explicit Early-Z and Dynamic Flow Control

Chapter 23- UV Texture Mapping

Research Method: I plan to research existing literature on the subject and conducting tests in the lab.

DEFERRED RENDERING STEFAN MÜLLER ARISONA, ETH ZURICH SMA/

Advanced Maya Texturing and Lighting

CS4620/5620: Lecture 14 Pipeline

Transcription:

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

Overview > Film Pipeline Overview and compare with Games > The RhinoFX/ATI Relationship > Ruby 1 and 2 The Movies > Breakdown of Four Real Time Visual Effects > Conclusion > Ruby 1 and 2 The Real Time Experience > Q&A 2

Film Pipeline > Pre-viz > Story/storyboarding > Pre-production > Modeling > Texturing > Rigging > Layout (3D storyboard) > Animation > Final Layout / Effects > Lighting > Rendering > Compositing 3

The RhinoFX/ATI Relationship > Intro Rhino > Tools > Pipeline > Memory > Preproduction > Techniques > Effects > Engine 4

Technical Constraints Given to RhinoFX > Polygon Budget > Ruby: 80,000 > Optico: 60,000 > Ninja: 25,000 > Environment: 150,000 > Lighting Limits > 3 Dynamic lights per shot (1 shadow casting) > Lightmaps used for set 5

Technical Constraints Given to RhinoFX > Animation Limits > 35 Total blend shapes > 5 Simultaneous blend shapes > 4 Weighted bones per vertex > Number of on-screen characters limited to 4 at once 6

Ruby 1 and 2 The Movies 7

Breakdown of Four Real Time Visual Effects > Floor - Ruby 1 > Blurred Dissipated Dynamic Reflections > Skin Rendering and PRT Ruby 1 & 2 > Post effects/render effects Ruby 1 & 2 > Glow > Motion Blur > Heat Distortion > Dynamic Real Time Reflections Ruby 2 > Dynamic Cube Maps 8

Blurred Dissipated Dynamic Reflections 9

Ruby 1 Reflections: Implementation > Mirror the current perspective camera position > Calculate a frustum for the geometry that could be reflected and render it out into a buffer > For each pixel of the reflection buffer, calculate height value, (distance from Reflection plane) and fade it based on a that distance > Project that buffer back onto the floor surface from the original camera 10

Reflection Buffer 11

Final frame 12

Skin Rendering Ruby 1 Ruby 2 13

Ruby 1 Skin: Implementation Light in Texture Space Blur Geometry Sample texture space light Back Buffer 14

Standard Lighting Model 15

Blurred Lighting Model 16

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 17

Blur Size Map Blur Kernel Size Result Texture Space Lighting 18

Shadows > Use 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 19

Texture Lighting with Shadows Write distance from light into shadow map Geometry Light in Texture Space Blur Sample texture space light Back Buffer 20

Shadowed Lit Texture Shadow Map (depth) Shadows in Texture Space 21

Results with Shadows 22

Pre-computed Radiance Transfer (PRT) 23

Global Illumination > Non-local lighting > Area light sources > Shadows > Interreflections > Subsurface scattering > Raytracing, Radiosity, etc. > These are not real-time friendly 24

Real Time Global Illumination > Preprocessor computes diffuse radiance and compresses it > Run-time engine compresses Irradiance (I) the same way > Fast calculation to get value of light at any point 25

PRT: Pros and Cons > Good for solid objects moving within a space > Not so good for skinned simulation as inner object occlusion changes > Multiple spherical harmonics can be recorded and LERPed to get more accurate results for skinned meshes > Transfer precompute can include partial transfer information for skin and other subsurface scattering 26

PRT on Ruby 2 Skin 27

Glows 28

Glows: Implementation > Render Shaded into frame buffer > Render glow intensity to alpha channel of the frame buffer > Frame buffer is copied to an off screen surface and downsampled to ¼ the resolution > This is then copied into 2 lower resolution ping/pong buffers > Blur repeatedly (ping/pong) based on alpha buffer intensity black, no blur, white max blur > Multiply shaded pass by last blurred buffer 29

Glow Buffers 30

Final frame 31

Motion Blur 32

Why Motion Blur? 33

Motion Blur: Implementation > Render the tunnel geometry out to the back buffer > Render velocity vector into a buffer image r-x, g-y,b-distance (screen space) > This is done by taking n samples of a screen pixel from previous frame (calculated using vector) to current frame > Add all n pixels together and divide by n to get value > The quality of this effect is tunable by the number of samples > The rendered tunnel is then blurred based on this motion vector > Comp characters back onto the new motion blurred tunnel 34

Motion Vectors R = screen x G = screen y B = distance 35

Non-blurred image 36

Motion Vectors 37

Heat Distortion 38

Heat Distortion: Implementation > Quad Shader > Take two pre-generated noise maps and animate > One Scaling and one scrolling > Combine them (multiply values) > Map to full screen quad > Use their normals to look up a bent normal from the backbuffered non-post render 39

Heat Distortion x = Fetch value from noise map to calculate offset Final Image 40

Dynamic Real Time Reflections 41

Traditional Static Cube Map > Blurred Environment Map. > Good for Interior spaces 42

Dynamic Cube Map: Implementation > Create low resolution version of tunnel with lightmaps from high resolution render > Render 6 small projections of the low res. geometry from Ruby s helmet POV (in cube formation) into offscreen buffers > Convert to cube map and use to dynamically lookup info for reflection map > Explosions are also rendered into the cubemap > they re cards - not much overhead 43

Wireframe of Low Polygon Hallway 44

Dynamic Reflections: Final Frame 45

Conclusion > Film and Game Convergence is happening. > Keys to Successful Outsourcing > No longer Special Features > Go back to film/cg early days for technique inspirations > Prioritize Visual Impact 46

Ruby 1 and 2 The Real Time Experience 47