Pre-computing Lighting in Games. David Larsson Autodesk Inc.

Similar documents
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,

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

INTRODUCTION TO RENDERING TECHNIQUES

A Short Introduction to Computer Graphics

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

Illuminating With HDRI

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

Path Tracing. Michael Doggett Department of Computer Science Lund university Michael Doggett

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

Rendering Microgeometry with Volumetric Precomputed Radiance Transfer

Deferred Shading & Screen Space Effects

Computer Animation: Art, Science and Criticism

Advanced Visual Effects with Direct3D

Modern Graphics Engine Design. Sim Dietrich NVIDIA Corporation

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

Contents Rendering Reference

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

Materials in NX Render

SkillsUSA 2014 Contest Projects 3-D Visualization and Animation

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

Lezione 4: Grafica 3D*(II)

Motivation. Motivation

Lighting & Rendering in Maya: Lights and Shadows

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

Computer Applications in Textile Engineering. Computer Applications in Textile Engineering

Thea Omni Light. Thea Spot Light. Light setup & Optimization

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

The RADIANCE Lighting Simulation and Rendering System

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

Introduction to Computer Graphics

Self-Positioning Handheld 3D Scanner

Autodesk Revit Architecture 2011 Professional Massmodeling Rendering Video Tutorial

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

Games Development Education to Industry. Dr. Catherine French Academic Group Leader Games Programming, Software Engineering and Mobile Systems

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

Course: 3D Design Title: Deciduous Trees Blender: Version 2.6X Level: Beginning Author; Neal Hirsig (June 2012) Deciduous Trees

Advances in Real-Time Skin Rendering

MicroStation V8i Training Manual 3D Level 3

Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group

Advanced Diploma of Professional Game Development - Game Art and Animation (10343NAT)

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

Easier mental ray Rendering for Design Workflows

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

Blender Notes. Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine

COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies

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

Maxwell Render 1.5 complete list of new and enhanced features

Grid Computing for Artificial Intelligence

3D Animation Graphic Designer

Republic Polytechnic School of Information and Communications Technology C391 Animation and Visual Effect Automation.

Broken Shard. Alpha Report. Benjamin Schagerl, Dominik Dechamps, Eduard Reger, Markus Wesemann. TUM Computer Games Laboratory

Any source of light can be described in terms of four unique and independently respective properties:

Workstation Applications for Windows. NVIDIA MAXtreme User s Guide

Making natural looking Volumetric Clouds In Blender 2.48a

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

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

The Future Of Animation Is Games

Advanced Computer Graphics. Rendering Equation. Matthias Teschner. Computer Science Department University of Freiburg

A technical overview of the Fuel3D system.

COMP Visualization. Lecture 15 Animation

Columbus College of Art & Design 1 Charlotte Belland

3D Computer Games History and Technology

LightWave IO.1 What s New

Creating Your Own 3D Models

Using Photorealistic RenderMan for High-Quality Direct Volume Rendering

Dhiren Bhatia Carnegie Mellon University

High Dynamic Range and other Fun Shader Tricks. Simon Green

Monte Carlo Path Tracing

GRAFICA - A COMPUTER GRAPHICS TEACHING ASSISTANT. Andreas Savva, George Ioannou, Vasso Stylianou, and George Portides, University of Nicosia Cyprus

CSE168 Computer Graphics II, Rendering. Spring 2006 Matthias Zwicker

CAD and Creativity. Contents

ABS 731 Lighting Design & Technology. Spring 2006

Digital 3D Animation

Printing Guide. MapInfo Pro Version Contents:

Maya 2014 Still Life Part 1 Texturing & Lighting

MapInfo Professional Version Printing Guide

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

Volume visualization I Elvins

First, let me do a super fast introduction,

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

Introduction Computer stuff Pixels Line Drawing. Video Game World 2D 3D Puzzle Characters Camera Time steps

Approval Sheet. Interactive Illumination Using Large Sets of Point Lights

Light Propagation Volumes in CryEngine 3

Fundamentals of Computer Graphics

Advanced Rendering for Engineering & Styling

Radeon HD 2900 and Geometry Generation. Michael Doggett

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

Getting Started with iray in 3ds Max 2014

Digital Video-Editing Programs

Plug-in Software Developer Kit (SDK)

Programming 3D Applications with HTML5 and WebGL

Normal Map Industry Survey

Lighting Estimation in Indoor Environments from Low-Quality Images

Blender 2.5 Lighting and Rendering

Course Developer: Charles Shami, Professor, Savannah College of Art and Design

Acceleration Methods for Ray Tracing based Global Illumination

Kankakee Community College

Tutorial - HDR scene setup (3D Studio Max, VRay)

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

Transcription:

Pre-computing Lighting in Games David Larsson Autodesk Inc.

What is baked lighting? Precompute lighting information for static scenes and lights Typically baked to Vertices Textures Light probe points in space for relighting of dynamic objects Most common approach to get access to GI in games Independent of GI algorithm As long as it works in texture space

What is baked lighting? Wireframe scene Wireframe UV layout Content courtesy of A2M

What is baked lighting? Diffuse Reflectance scene Diffuse Reflectance in UV space Content courtesy of A2M

What is baked lighting? Lighting only Scene Lighting only in UV space Content courtesy of A2M

What is baked lighting? * = Content courtesy of A2M

Why bake lighting? Quality Performance Lighting Workflow

Quality Allows the highest quality light simulation algorithms GI effects Multiple bounces Allows high quality direct lighting

Quality Image from Mirrors Edge, by EA DICE

Workflow Baked lighting is a way to give artists access to Global Illumination (GI) Define the lighting in terms of actual light sources No artificial fill lights Decouples lighting from the geometry/materials Baked Lighting allows a richer set of light sources Physically based Soft Shadows Shadow Casting HDR light probes

Performance Runtime performance very good Independent of light setup Independent of GI algorithm Good looking light maps run with the same performance as poor looking ones

Predictable Performance Runtime performance tends to be very robust Artists can add as many lights as they want Realtime shadow map performance and GI less predictable Light angle and position affects the performance of the shadow rendering Player position affects what lights needs resolution

Scalable Performance Worked in Quake 1 Used on handheld devices today Used in today's high end games

Challenges Changing Light Setups Moving/Deformed Geometry Memory Usage for the Baked Lighting Light Rebuild Times

Memory Usage Lighting is global Material textures Instances share material textures Multiple objects can share textures Textures can be tiled and mirrored Lighting textures Must be unique per instance Cannot be tiled, mirrored etc Possible to optimize resolution based on resolution requirements Reference on memory usage for lightmaps Lightmap Compression in HALO 3, Hu

Normal Maps and Light Maps Normal maps are great for increase the geometry detail level Normal maps introduces high frequency details in the lighting High frequency lighting requires high texture resolution

Directional Light Maps Details are in the geometry, not in the incoming lighting Store the hemisphere of incoming light per texel in the light map Allows approximation of lighting for different normal directions

Directional Light Maps Content courtesy of A2M Low resolution Directional Baked Normal Light Lighting maps Mapcombined with normal maps

Directional Light Maps Typical Encodings Radiosity Normal Maps (RNM) SH (generally 2 bands, 4 components) Per pixel ambient and directional light H-basis Allows real BRDF:s Hemisphere is blurry but it s possible to get reasonable specular effects from it too References Half-Life 2 / Valve Source Shading, Gary McTaggart An Efficient Representation for Irradiance Environment Maps, Ramamoorthi et al Efficient Irradiance Normal Mapping, Habel, et al

Changing Light Setups Possible to bake different times of days Combinatorial explosion if introducing more changeable lights Treat moving and intensity changing lights like ordinary runtime lights Good for explosions or lights that flicker No indirect lighting

Changing Geometry Separate between local and global changes Local Characters moving in a room Small furniture Bullet holes Global Destroyed buildings Destroyed walls

Local Geometry Changes Two sides of the problem How is the object affected by the environment? How does the object affect its environment?

Incoming Light on Moving Objects Content courtesy A2M

Incoming Light on Moving Objects Bake light probes in the room Use the closest ones to light the object Approximate the incoming lighting as one light probe for an entire object Works well on objects small compared to the environment Very large objects may need special treatment Encodings Spherical harmonics (typically 3 bands) Cube map with 1 pixel per side Single ambient color

Moving Objects Affecting the Environment Direct lighting lighting in light probes optional Allows self shadowing on dynamic objects Allows the object to cast shadow on the environment Possible to extract strongest light direction from light probes too Described in Stupid SH tricks, Peter Pike Sloan Gives the possibility for self shadowing from indirect lighting Some titles only bake indirect light for lights where character shadow on environment is a big deal Indirect lighting from characters generally insignificant

Global Geometry Changes Highly dynamic games tend to avoid global baked lighting Other subsystems tends to rely on or perform better on static geometry as well Path Finding Collision Detection Game story often requires players following certain paths

Hybrid Solutions Bake only indirect lighting Indirect light generally smoother than direct lighting Sharp shadows needs higher texture resolution Special treatment of the sun Sunlight is often the most influential light for outdoor scenes Direct sunlight often a source of sharp shadows and dynamic range differences Bake indirect only from the sun, add direct as a runtime light

Pipeline Level and lighting workflow Asset Creation Level Assembling Light Baking Breakdown of the Light Baking phase Scene Export Light Map Rendering UV Atlasing Texture Compression Data import

Pipeline implications Light build stage can be time consuming In the magnitude of CPU hours Dependent on algorithm, resolutions, level size, light setup, number of bounces etc Tools to speed things up Selective Light Builds Preview Quality Builds Preview Tools Camera render tools Progressive light map generation Distribution Automatic rebuilds to make sure lighting is always up to date

Pipeline Implications Clear separation of what is static and dynamic Both for Lights and Geometry Tools for placing and managing light probes in levels Grids Hierarchical grids Arbitrary points Tools for managing texture resolutions and bake type

Pipeline Implications Tools for managing GI specific light source properties Scale factors for direct and indirect lighting in order to exaggerate and separate light contributions Tools for managing GI specific material properties What gives good glow effects and the right look on screen is not necessarily giving the desired light emission on the environment Increase or decrease overall reflectivity for scenes

Pipeline Implications Texture baked shapes needs unique UV Possible to automate to some extent Content that is easy to unwrap is preferable Keep details in the normal map layer if possible Vertex baking is common No seams because of insufficient texture resolution Normal maps together with directional light maps can help give details in low resolution lighting Not good with shadows and other lighting discontinuities inside polygons

Questions?