NVIDIA Case Studies:

Similar documents
CS354R: Computer Game Technology

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

Enhancing Traditional Rasterization Graphics with Ray Tracing. October 2015

Global Illumination. COMP 575/770 Spring 2013

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

Ray Tracing. Kjetil Babington

Photorealism: Ray Tracing

Rendering Part I (Basics & Ray tracing) Lecture 25 December 1, 2015

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

03 RENDERING PART TWO

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

A Brief Overview of. Global Illumination. Thomas Larsson, Afshin Ameri Mälardalen University

Enabling immersive gaming experiences Intro to Ray Tracing

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

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

Computer Graphics. Lecture 13. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura

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

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

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

The Traditional Graphics Pipeline

Dynamic Ambient Occlusion and Indirect Lighting. Michael Bunnell NVIDIA Corporation

COMP371 COMPUTER GRAPHICS

Metal for Ray Tracing Acceleration

The Traditional Graphics Pipeline

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

Real-Time Voxelization for Global Illumination

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

Photon Mapping. Due: 3/24/05, 11:59 PM

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

Adapting Ray Tracing to Spatial Augmented Reality

Intro to Ray-Tracing & Ray-Surface Acceleration

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

Computer Graphics. Lecture 10. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura 12/03/15

My focus will be on pointing out the patterns rather than explaining individual algorithms

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

Illumination Algorithms

CS 354R: Computer Game Technology

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

NVIDIA RTX: Enabling Ray Tracing in Vulkan. Nuno Subtil, Sr. Devtech Engineer / Eric Werness, Sr. System Software Engineer March 27, 2018

Rendering: Reality. Eye acts as pinhole camera. Photons from light hit objects

Lecture 32 of 41. Lab 6: Ray Tracing with ACM SIGGRAPH Demo & POV-Ray

REAL-TIME GPU PHOTON MAPPING. 1. Introduction

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

Computer Graphics Shadow Algorithms

Sung-Eui Yoon ( 윤성의 )

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

Advanced Graphics. Path Tracing and Photon Mapping Part 2. Path Tracing and Photon Mapping

CS354 Computer Graphics Ray Tracing. Qixing Huang Januray 24th 2017

Direct Rendering of Trimmed NURBS Surfaces

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

Models and Architectures

Review for Ray-tracing Algorithm and Hardware

CHAPTER 1 Graphics Systems and Models 3

Pipeline Operations. CS 4620 Lecture 14

Chapter 7 - Light, Materials, Appearance

Computer Graphics. - Ray Tracing I - Marcus Magnor Philipp Slusallek. Computer Graphics WS05/06 Ray Tracing I

COMPUTER GRAPHICS COURSE. Rendering Pipelines

Interactive Volumetric Shadows in Participating Media with Single-Scattering

The Traditional Graphics Pipeline

6.837 Introduction to Computer Graphics Final Exam Tuesday, December 20, :05-12pm Two hand-written sheet of notes (4 pages) allowed 1 SSD [ /17]

SUMMARY. CS380: Introduction to Computer Graphics Ray tracing Chapter 20. Min H. Kim KAIST School of Computing 18/05/29. Modeling

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

Real-Time Rendering (Echtzeitgraphik) Michael Wimmer

Photon Mapping. Michael Doggett Department of Computer Science Lund university

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

Effects needed for Realism. Ray Tracing. Ray Tracing: History. Outline. Foundations of Computer Graphics (Spring 2012)

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

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

Programmable GPUS. Last Time? Reading for Today. Homework 4. Planar Shadows Projective Texture Shadows Shadow Maps Shadow Volumes

Effects needed for Realism. Computer Graphics (Fall 2008) Ray Tracing. Ray Tracing: History. Outline

Introduction to Computer Graphics with WebGL

Motivation. Sampling and Reconstruction of Visual Appearance. Effects needed for Realism. Ray Tracing. Outline

SIGGRAPH 2013 Shaping the Future of Visual Computing

Enhancing Traditional Rasterization Graphics with Ray Tracing. March 2015

Ray Tracing. Computer Graphics CMU /15-662, Fall 2016

INFOMAGR Advanced Graphics. Jacco Bikker - February April Welcome!

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

Introduction to Visualization and Computer Graphics

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

Photon Maps. The photon map stores the lighting information on points or photons in 3D space ( on /near 2D surfaces)

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

Real-Time Universal Capture Facial Animation with GPU Skin Rendering

Graphics Hardware. Instructor Stephen J. Guy

Global Illumination. Why Global Illumination. Pros/Cons and Applications. What s Global Illumination

I have a meeting with Peter Lee and Bob Cosgrove on Wednesday to discuss the future of the cluster. Computer Graphics

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

CS451Real-time Rendering Pipeline

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

Single Scattering in Refractive Media with Triangle Mesh Boundaries

Siggraph Asia December 2011

Computer Graphics (CS 543) Lecture 13b Ray Tracing (Part 1) Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Pipeline Operations. CS 4620 Lecture 10

Computer Graphics. - Introduction to Ray Tracing - Philipp Slusallek

Global Illumination. CS7GV3 Real-time Rendering

Me Again! Peter Chapman. if it s important / time-sensitive

Computer Graphics 10 - Shadows

Global Rendering. Ingela Nyström 1. Effects needed for realism. The Rendering Equation. Local vs global rendering. Light-material interaction

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

CS8803SC Software and Hardware Cooperative Computing GPGPU. Prof. Hyesoon Kim School of Computer Science Georgia Institute of Technology

The Rendering Equation and Path Tracing

Transcription:

NVIDIA Case Studies: OptiX & Image Space Photon Mapping David Luebke NVIDIA Research Beyond Programmable Shading 0

How Far Beyond? The continuum Beyond Programmable Shading Just programmable shading: DX, OGL Beyond Programmable Shading 1

How Far Beyond? The continuum Beyond Programmable Shading Just programmable shading: DX, OGL Pure compute-based graphics: CUDA, OptiX Beyond Programmable Shading 2

Ray Tracing SIGGRAPH 2008 Demo SIGGRAPH 2009 Product: OptiX Beyond Programmable Shading 3

The OptiX Engine A General Purpose Ray Tracing API Rendering, baking, collision detection, A.I. queries, etc. Modern shader-centric, stateless and bindless design Is not a renderer but can implement many types of renderers Highly Programmable Shading with arbitrary ray payloads Ray generation/framebuffer operations (cameras, data unpacking, etc.) Programmable intersection (triangles, NURBS, implicits ) Easy to Program Write single ray code (no exposed ray packets) No need to rewrite shaders to target different hardware Beyond Programmable Shading 4

Programmable Operations Hit program Miss program Intersection program Ray generation program Beyond Programmable Shading 5

Programmable Operations Rasterization Fragment Vertex Geometry Ray Tracing Closest Hit Any Hit Intersection Selector Ray Generation Miss Exception Beyond Programmable Shading 6

Shading in OptiX Interconnection of shaders defines the outcome Whitted ray tracing, cook, path tracing, photon mapping Or collision detection, sound propagation, Shading language is based on C/C++ for CUDA No new language to learn Powerful language features available immediately Pointers Templates Overloading Default arguments Classes (no virtual functions) Adds a powerful object model designed for ray tracing Caveat: still need to use it responsibly to get perf Beyond Programmable Shading 7

How Far Beyond? The continuum Beyond Programmable Shading Interesting middle ground! Just programmable shading: DX, OGL Pure compute-based graphics: CUDA, OptiX Beyond Programmable Shading 8

How Far Beyond? Image Space Photon Mapping Interesting middle ground! Just programmable shading: DX, OGL Pure compute-based graphics: CUDA, OptiX Beyond Programmable Shading 9

Hardware-Accelerated Global Illumination by Image Space Photon Mapping Morgan McGuire Williams College David Luebke NVIDIA Corporation ACM Hardware-accelerated SIGGRAPH / EuroGraphics global illumination High-Performance by image space Graphics photon mapping 2009

Goal: Dynamic Global Illumination a 1920x1080, 20fps Beyond Programmable Shading 11

Multi-Bounce Video Beyond Programmable Shading 12

Beyond Programmable Shading 13

Photon Mapping Time (seconds) e.g., [Jensen 01, Purcell et al. 03, Zhou et al. 08] 1 st Bounce 2 nd 3 rd 4 th Build Tree Last Bounce ( Estimate Radiance ) Image Space Photon Mapping (milliseconds) GPU Bounce Map CPU Trace GPU Photon Volumes Data Transfer Beyond Programmable Shading 14

System CPU Trace 1 st Bounce: Bounce Map Direct + Shadows Last Bounce: Photon Volumes Hardware-accelerated global illumination by image space photon mapping

Bounce Map Position Normal Material Parameters (BSDF) Outgoing Power Outgoing Direction Refractive Index, A Priori Differential Probability Beyond Programmable Shading 16

(Trace Rays) Beyond Programmable Shading 17

(Direct Illumination) Beyond Programmable Shading 18

Radiance Estimate Traditional photon mapping: gather Per pixel k-nn search in k-d tree World-space (3D) Image-space photon mapping: scatter Per photon Hardware rasterization using photon volumes Image space (2D) Beyond Programmable Shading 19

Photon Volumes photon Invoke an illumination contribution on all pixels for which a photon might be a valid estimate of incident radiance Not virtual point lights (a.k.a. instant radiosity) Not 2D splatting Hardware-accelerated global illumination by image space photon mapping

Hardware-accelerated global illumination by image space photon mapping 21

Hardware-accelerated global illumination by image space photon mapping 22

Hardware-accelerated global illumination by image space photon mapping 23

Results Beyond Programmable Shading 24

Direct Hardware-accelerated global illumination by image space photon mapping

Hardware-accelerated global illumination by image space photon mapping

Indirect Hardware-accelerated global illumination by image space photon mapping

Direct + Indirect Hardware-accelerated global illumination by image space photon mapping

Direct + Ambient Hardware-accelerated global illumination by image space photon mapping

Direct + Indirect Hardware-accelerated global illumination by image space photon mapping

Performance @ 1920 x 1080, 30 lights Exact PLS: 21 fps 31 fps 23 fps Conservative PLS: 15 fps 5 fps No PLS: 2 fps Hardware-accelerated global illumination by image space photon mapping

Subsampling Joint-bilateral upsampling on normal and depth Subsample incident radiance, not pixel color (no diffuse surface assumption) Beyond Programmable Shading 32

Diffuse Interreflection Video Beyond Programmable Shading 33

Videos Hardware-accelerated global illumination by image space photon mapping 34

Caustics Video Beyond Programmable Shading 35

Hardware-accelerated global illumination by image space photon mapping

ISPM Properties General physically-based method Caustics, color bleeding, contact shadows, etc. As fast as single-phenomenon GPU algorithms (but lower quality for that phenomenon) 1M poly scenes 1920x1080 @ 30 fps Simple implementation ~600 statements in GLSL and C++ Hardware-accelerated global illumination by image space photon mapping

Theme Exploit the strengths of graphics pipeline, without being fettered to it Rasterizer, ROP, Z Cull, Z compression: exploit single center of projection ROP, texture: massive blending capability ( hidden FLOPS) NVIDIA GPUs: CUDA + Acceleration Engines like OptiX Beyond Programmable Shading 38

Thank You! Source code: ISPM: G3D: http://graphics.cs.williams.edu http://g3d-cpp.sf.net Onos and NS Theme from Natural Selection 2 by Unknown Worlds Entertainment Nexus 6 from Tremulous Bunny from The Stanford 3D Scanning Repository Ironworks from Quake Live by id Software Sponza Atrium by Marko Dabrovic Special thanks to Qi Mo, Evan Hart, Kefei Lei, Daniel Fast, Eric Enderton, and anonymous HPG09 reviewers Beyond Programmable Shading 39

Backup Slides (from HPG presentation) Beyond Programmable Shading 40

Hardware-accelerated global illumination by image space photon mapping 41

Hardware-accelerated global illumination by image space photon mapping 42

Hardware-accelerated global illumination by image space photon mapping 43

Radiance Estimate RT r = ho) Hardware-accelerated global illumination by image space photon mapping

Assumptions Point light Pinhole camera Limitations Clipping at near plane annoying, but ignorable/avoidable 4x more expensive than direct illumination (heavy fill consumption) Consistent, but biased (like photon mapping) Hardware-accelerated global illumination by image space photon mapping

Future Work Tracing on GPU Fill rate Shaping photon volume Game-specific optimizations and analysis The Cornell box is harder to render than Natural Selection 2! Hardware-accelerated global illumination by image space photon mapping 46

Performance Details Hardware-accelerated global illumination by image space photon mapping 47

Trace-bound 139k polys 36k photons 16 fps Trace: 25 ms Hardware-accelerated global illumination by image space photon mapping

Fill-bound 176k polys 8 objects 11 lights 100k photons 156 Mpix fill--80x overdraw! 10 fps Hardware-accelerated global illumination by image space photon mapping