Voxel Cone Tracing and Sparse Voxel Octree for Real-time Global Illumination. Cyril Crassin NVIDIA Research

Similar documents
Octree-Based Sparse Voxelization for Real-Time Global Illumination. Cyril Crassin NVIDIA Research

Real-Time Voxelization for Global Illumination

Interactive Indirect Illumination Using Voxel Cone Tracing

GigaVoxels Effects In Video Games

CS354R: Computer Game Technology

Graphics in the Cloud Will Wade, NVIDIA VGX Product Line Manager Ian Williams, Director of Applied Engineering

Volume-based Ambient Occlusion with Voxel Fragmentation

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

GigaVoxels: Voxels Come Into Play

GTC 2013 March San Jose, CA The Smartest People. The Best Ideas. The Biggest Opportunities. Opportunities for Participation:

Advanced Computer Graphics CS 563: Screen Space GI Techniques: Real Time

Enabling the Next Generation of Computational Graphics with NVIDIA Nsight Visual Studio Edition. Jeff Kiel Director, Graphics Developer Tools

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

Dynamic Ambient Occlusion and Indirect Lighting. Michael Bunnell NVIDIA Corporation

Level of Details in Computer Rendering

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

Practical Techniques for Ray Tracing in Games. Gareth Morgan (Imagination Technologies) Aras Pranckevičius (Unity Technologies) March, 2014

Shadows. COMP 575/770 Spring 2013

Enhancing Traditional Rasterization Graphics with Ray Tracing. October 2015

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

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

Enabling immersive gaming experiences Intro to Ray Tracing

Rasterization Overview

Pipeline Operations. CS 4620 Lecture 14

Screen Space Ambient Occlusion. Daniel Kvarfordt & Benjamin Lillandt

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

Real-Time Hair Rendering on the GPU NVIDIA

Advanced Ambient Occlusion Methods for Modern Games

Ambient Occlusion. Ambient Occlusion (AO) "shadowing of ambient light "darkening of the ambient shading contribution

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

Interactive Light Mapping with PowerVR Ray Tracing

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

Many-Light Real-Time Global Illumination using Sparse Voxel Octree

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

How to use Voxel Cone Tracing with two bounces for everything. instead of just Global Illumination

COMP 4801 Final Year Project. Ray Tracing for Computer Graphics. Final Project Report FYP Runjing Liu. Advised by. Dr. L.Y.

Final Project: Real-Time Global Illumination with Radiance Regression Functions

Photorealism: Ray Tracing

CS GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1. Markus Hadwiger, KAUST

Volume Rendering. CS7GV3 Real-time Rendering

Lighting. To do. Course Outline. This Lecture. Continue to work on ray programming assignment Start thinking about final project

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

Deferred Rendering Due: Wednesday November 15 at 10pm

global light baking software

Advanced Computer Graphics CS 563: Making Imperfect Shadow Maps View Adaptive. Frederik Clinck lie

Radeon ProRender and Radeon Rays in a Gaming Rendering Workflow. Takahiro Harada, AMD 2017/3

Georgios (George) Papaioannou

Pipeline Operations. CS 4620 Lecture 10

Rendering Soft Shadows and Glossy Reflections with Cone Tracing

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

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

Hardware Accelerated Volume Visualization. Leonid I. Dimitrov & Milos Sramek GMI Austrian Academy of Sciences

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

NVIDIA Case Studies:

GPU Ray Tracing at the Desktop and in the Cloud. Phillip Miller, NVIDIA Ludwig von Reiche, mental images

Recollection. Models Pixels. Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows

CS 4620 Program 3: Pipeline

Global Illumination That Scales

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

NVIDIA Advanced Rendering

Ray Tracing. Kjetil Babington

03 RENDERING PART TWO

The Rasterization Pipeline

Applications of Explicit Early-Z Culling

CPSC GLOBAL ILLUMINATION

TSBK03 Screen-Space Ambient Occlusion

Shaders. Slide credit to Prof. Zwicker

CMSC427 Shading Intro. Credit: slides from Dr. Zwicker

LOD and Occlusion Christian Miller CS Fall 2011

Models and Architectures

MIT Monte-Carlo Ray Tracing. MIT EECS 6.837, Cutler and Durand 1

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

CHAPTER 1 Graphics Systems and Models 3

Parallelizing Graphics Pipeline Execution (+ Basics of Characterizing a Rendering Workload)

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

Intro to Ray-Tracing & Ray-Surface Acceleration

Utrecht University. Real-time Ray tracing and Editing of Large Voxel Scenes

These are the annotated slides of the real time part of the Many Lights Rendering

Classic Rendering Pipeline

Table of Contents. Part I Introduction 3. Part II Tutorial: Getting Started 3. Part III Models 19. Part IV IPR Parameter Picking 20.

Interpolation using scanline algorithm

Enhancing Traditional Rasterization Graphics with Ray Tracing. March 2015

Multi-View Soft Shadows. Louis Bavoil

GPU-AWARE HYBRID TERRAIN RENDERING

Global Illumination. COMP 575/770 Spring 2013

Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL

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

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

Global Illumination in Real-Time using Voxel Cone Tracing on Mobile Devices

CS451Real-time Rendering Pipeline

Real-Time Shadows. Last Time? Textures can Alias. Schedule. Questions? Quiz 1: Tuesday October 26 th, in class (1 week from today!

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

RASTERISED RENDERING

Texture Mapping II. Light maps Environment Maps Projective Textures Bump Maps Displacement Maps Solid Textures Mipmaps Shadows 1. 7.

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

The Traditional Graphics Pipeline

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

Computer Graphics Shadow Algorithms

To Do. Real-Time High Quality Rendering. Motivation for Lecture. Monte Carlo Path Tracing. Monte Carlo Path Tracing. Monte Carlo Path Tracing

Global Illumination. CMPT 361 Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller

Transcription:

Voxel Cone Tracing and Sparse Voxel Octree for Real-time Global Illumination Cyril Crassin NVIDIA Research

Global Illumination Indirect effects Important for realistic image synthesis Direct lighting Direct+Indirect lighting

Voxel-Based GI 8ms @ 512x512 27ms @ 720p - 62ms @ 1080p

Voxel-based GI It can run in a game! EPIC Games : SVOgi

DEMO

Sparse Voxel Octree Detailed geometry rendering Structured LODs Olick. 2008 Laine and Karras (NVIDIA) 2010 Crassin et al. 2009 (GigaVoxels)

GPU Voxel Octree Linked nodes in linear video memory (Octree Pool) 2x2x2 nodes tiles 1 pointer per node to a node-tile Voxels stored into a 3D texture (Brick Pool) Allows hardware tri-linear interpolation 1 2 3 Linear Memory 1 2 3 4 5 6 7 8 9 Octree pool 3D Texture Brick pool 4 5 6 7 8 9

Hybrid rendering pipeline Hybrid rendering pipeline Rasterized primary rays GPU pipeline optimized for direct visibility Cone-traced secondary rays Flexibility and scalability Forward or deferred rendering

Voxel cone tracing Geometry pre-filtering Traced like a participating media r n l Volume ray-casting Voxel representation Scene geometry : Opacity field + Incoming radiance Quadrilinearly interpolated samples 3D MIP-map pyramid of pre-filtered values

Rendering algorithm Light source View direction Diffuse cones n n l d 1. Light pass (es) Bake irradiance (RSM) 2. Filtering pass Down-sample radiance in the octree 3. Camera pass For each visible fragment: Gather indirect radiance

Discussion Scalable lighting rep.! Independent of geometric complexity Control over rendering time Large cones Precision / Light leaking But always smooth Never noisy!!

Indirect diffuse

Indirect diffuse

Specular tracing Light source n l Diffuse cones d View direction n Specular cone Voxel-based cone

Indirect specular

Indirect specular

Multiple-bounces

Voxel Ambient Occlusion AO cones n + Distant + off-screen occlusions - Resolution Scene model courtesy of Guillermo M. Leal Llaguno 5.5ms @ 1280x720

Voxel soft shadows One cone per pixel The smoother, the faster to compute! Area light source 3-9ms @ 1280x720 Occluder

Publications Interactive indirect illumination using voxel cone tracing C. Crassin, F. Neyret, M. Sainz, S. Green, E. Eisemann Computer Graphics Forum (Proc. of Pacific Graphics 2011) http://research.nvidia.com/publication/interactive-indirectillumination-using-voxel-cone-tracing I3D 2011 Poster http://maverick.inria.fr/publications/2011/cnsge11/ Siggraph 2011 Talk http://maverick.inria.fr/publications/2011/cnsge11a/

Dynamic Voxelization Entirely done using the GPU graphics pipeline Sparse (No plain grid allocation) Two modes : Static environment Pre-voxelized (~20ms) Dynamic objects Added to the structure at runtime (~4-5ms)

One pass voxelization pipeline Thin surface voxelization VS Triangle Dominant Axis Selection Geometry Shader Triangle Projection Edges Shifting Hardware Setup/Raster. Conservative Rasterization Fragments Clipping Fragment Shader Voxel Attributes Computation Write to 3D surface z x Y- proj Normal y x Z- proj y z X- proj

Sparse Octree construction Sparse voxelization No plain grid allocation Two steps: 1. Octree subdivision 2. Values MIP-mapping 0 1 2 2 1 0

Octree construction Top-down octree construction Compute + Graphics 0 1 2 Voxelize Mesh at level resolution Tag octree nodes Create New Node Tiles 1 thread per voxel-fragment 1 thread per node 0 1 2 3 4 0 1 2 3 4 5 6 7 8 Node queue 9 10 11 12 13 14 15 16 Node queue

Results 9 levels octree (512^3) RGBA32F Kepler GK104 performance 30% - 58% faster than Fermi GF100 Atomic merging up to 80% faster. Times in ms

OpenGL Insights Octree-Based Sparse Voxelization Using The GPU Hardware Rasterizer Cyril Crassin and Simon Green Just released at Siggraph 2012 Patrick Cozzi & Christophe Riccio

THANKS!

GTC 2013 March 18-21 San Jose, CA The Smartest People. The Best Ideas. The Biggest Opportunities. Opportunities for Participation: SPEAK - Showcase your work among the elite of graphics computing - Call for Sessions: August 2012 - Call for Posters: October 2012 REGISTER - learn from the experts and network with your peers - Use promo code GM10SIGG for a 10% discount SPONSOR - Reach influential IT decision-makers Learn more at www.gputechconf.com