Specialized Acceleration Structures for Ray-Tracing. Warren Hunt

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

Computing Visibility. Backface Culling for General Visibility. One More Trick with Planes. BSP Trees Ray Casting Depth Buffering Quiz

Spatial Data Structures and Speed-Up Techniques. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology

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

The Traditional Graphics Pipeline

FRUSTUM-TRACED RASTER SHADOWS: REVISITING IRREGULAR Z-BUFFERS

MSBVH: An Efficient Acceleration Data Structure for Ray Traced Motion Blur

Spatial Data Structures

Topics and things to know about them:

Spatial Data Structures

FRUSTUM-TRACED RASTER SHADOWS: REVISITING IRREGULAR Z-BUFFERS

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo

Accelerating Geometric Queries. Computer Graphics CMU /15-662, Fall 2016

Spatial Data Structures

Acceleration Data Structures

Announcements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday

Spatial Data Structures

Last Time: Acceleration Data Structures for Ray Tracing. Schedule. Today. Shadows & Light Sources. Shadows

The Traditional Graphics Pipeline

The Traditional Graphics Pipeline

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

COMP 175: Computer Graphics April 11, 2018

Ray Tracing. Cornell CS4620/5620 Fall 2012 Lecture Kavita Bala 1 (with previous instructors James/Marschner)

Enhancing Traditional Rasterization Graphics with Ray Tracing. October 2015

Spatial Data Structures

Shadows. COMP 575/770 Spring 2013

Speeding up your game

Real Time Ray Tracing

Sung-Eui Yoon ( 윤성의 )

Computer Graphics Ray Casting. Matthias Teschner

Motivation. Culling Don t draw what you can t see! What can t we see? Low-level Culling

INFOMAGR Advanced Graphics. Jacco Bikker - February April Welcome!

CHAPTER 1 Graphics Systems and Models 3

Page 1. Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms

Sung-Eui Yoon ( 윤성의 )

Chapter 4. Chapter 4. Computer Graphics 2006/2007 Chapter 4. Introduction to 3D 1

Rasterization Overview

Computer Science 426 Midterm 3/11/04, 1:30PM-2:50PM

Ray Tracing. Foley & Van Dam, Chapters 15 and 16

Real-Time Ray Tracing Using Nvidia Optix Holger Ludvigsen & Anne C. Elster 2010

Speeding Up Ray Tracing. Optimisations. Ray Tracing Acceleration

Ray Tracing Foley & Van Dam, Chapters 15 and 16

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

Topics. Ray Tracing II. Intersecting transformed objects. Transforming objects

Computer Graphics. - Ray-Tracing II - Hendrik Lensch. Computer Graphics WS07/08 Ray Tracing II

Computer Graphics. - Spatial Index Structures - Philipp Slusallek

Computer Graphics. Bing-Yu Chen National Taiwan University

Chapter 11 Global Illumination. Part 1 Ray Tracing. Reading: Angel s Interactive Computer Graphics (6 th ed.) Sections 11.1, 11.2, 11.

3D Viewing. CS 4620 Lecture 8

CS 563 Advanced Topics in Computer Graphics QSplat. by Matt Maziarz

Benchmark 1.a Investigate and Understand Designated Lab Techniques The student will investigate and understand designated lab techniques.

Shadows for Many Lights sounds like it might mean something, but In fact it can mean very different things, that require very different solutions.

Computer Graphics Shadow Algorithms

Projection and viewing. Computer Graphics CSE 167 Lecture 4

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

Physically-Based Laser Simulation

Interactive Volumetric Shadows in Participating Media with Single-Scattering

INFOGR Computer Graphics. J. Bikker - April-July Lecture 11: Visibility. Welcome!

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

Topics. Ray Tracing II. Transforming objects. Intersecting transformed objects

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development

Visibility and Occlusion Culling

Real-Time Shadows. Last Time? Today. Why are Shadows Important? Shadows as a Depth Cue. For Intuition about Scene Lighting

Accelerated Raytracing

Here s the general problem we want to solve efficiently: Given a light and a set of pixels in view space, resolve occlusion between each pixel and

S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T

CS 563 Advanced Topics in Computer Graphics Camera Models. by Kevin Kardian

REYES REYES REYES. Goals of REYES. REYES Design Principles

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

Hard Shadows Aliasing and Remedies

Occluder Simplification using Planar Sections

CSE528 Computer Graphics: Theory, Algorithms, and Applications

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

Today. Rendering pipeline. Rendering pipeline. Object vs. Image order. Rendering engine Rendering engine (jtrt) Computergrafik. Rendering pipeline

L1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming

Lecture 11 - GPU Ray Tracing (1)

Intersection Acceleration

Point Cloud Filtering using Ray Casting by Eric Jensen 2012 The Basic Methodology

Chapter 5. Projections and Rendering

CPSC / Sonny Chan - University of Calgary. Collision Detection II

CS 563 Advanced Topics in Computer Graphics Culling and Acceleration Techniques Part 1 by Mark Vessella

Shadows in the graphics pipeline

Enabling immersive gaming experiences Intro to Ray Tracing

3D Viewing. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 9

Two basic types: image-precision and object-precision. Image-precision For each pixel, determine which object is visable Requires np operations

CS451Real-time Rendering Pipeline

Accelerating Ray-Tracing

Game Architecture. 2/19/16: Rasterization

Accelerating Shadow Rays Using Volumetric Occluders and Modified kd-tree Traversal

Principles of Computer Game Design and Implementation. Lecture 13

Real-Time Realism will require...

Computer Graphics. Lecture 9 Environment mapping, Mirroring

Hidden Surface Removal

Pipeline Operations. CS 4620 Lecture 10

Computer Graphics. Si Lu. Fall uter_graphics.htm 11/22/2017

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

CSM Scrolling. An acceleration technique for the rendering of cascaded shadow maps

Ray Tracing III. Wen-Chieh (Steve) Lin National Chiao-Tung University

Topic #1: Rasterization (Scan Conversion)

CMSC427 Final Practice v2 Fall 2017

Transcription:

Specialized Acceleration Structures for Ray-Tracing Warren Hunt Bill Mark

Forward: Flavor of Research Build is cheap (especially with scan, lazy and build from hierarchy) Grid build and BVH refit are really cheap Many specialized acceleration structures are required for maximal rendering performance Already true for game rendering algorithms

One System, Many (Layered) Structures Static ti structures t for static ti objects Structures with static topology for dynamic objects with static topology Sub-division surfaces Structures for collections of dynamic objects or particles Also used in collision detection Structures for clusters of highly coherent rays Primary, shadows, large flat reflectors Structures for GI (probably not ray-tracing)

Ray-Specialized Acceleration Structures For Ray-Tracing Warren Hunt Bill Mark

Introduction Use specialization i to improve rendering performance in the context of ray-tracing Use the perspective transform to accelerate (nearly) common origin ray-tracing High performance for primary and shadow rays Use a simple acceleration structure for fast rebuild (uniform grid)

Motivation Ray-tracing lacks competitive i performance for primary visibility and shadows Z-Buffer lacks flexibility to perform many (even point origin) visibility queries e.g.: hard shadows Uses the perspective transform! The space between these is remarkably unpopulated (IZB and ZZ-Buffer are exceptions)

Related Work Irregular Z-Buffer [Johnson 05] Hard shadow algorithm that uses a perspective grid to store samples ZZ-Buffer [Salesin 89] Uses a screen-space lookup table to store conservative bounding volumes

What is The Perspective Transform? Non-affine spatial transform that happens to map lines to lines Lines passing through the point of projection are mapped into parallel (axis-aligned) lines in perspective space

Perspective Alignment: Space: World Space: World Space: Perspective Grid: Uniform Grid: Perspectivee Grid: Uniform

The Math Behind the Transform The perspective transform can be described d using 3 simple equations: x = x/z y = y/z z = 1/z or -1/z (preserves order & handedness) Maps lines to lines: x(z) = Az + B y(z) = Cz + D

The Math Behind the Transform The perspective transform can be described d using 3 simple equations: x = x/z y = y/z z = 1/z or -1/z (preserves order & handedness) Maps lines to lines: x(z) = Az + B x (z ) = -Bz + A y(z) = Cz + D y (z ) ) = -Dz + C

The Perspective Singularity Problem: Dividing by z causes problems at zero (the transform has a singularity at zero) Solution: Restrict space to z + (or z - ) (near-plane clipping) Rays are often only going in one direction anyway Cubic arrangement of grids covers all of 3-space g g p (cube-mapping)

Our System Overview: Use one perspective grid acceleration structure per light or camera R b ild ll id Rebuild all grids every frame

Using Perspective space: Transform all geometry and rays into perspective space (restrict domain to z + or z - ) We use a uniform grid acceleration structure (in perspective space) Perform optimizations for common-origin rays (where applicable)

Point Origin not Required! Space: World Space: World Space: Perspective Grid: Uniform Grid: Perspectivee Grid: Uniform

Ray-Tracing With the Perspective Grid Ray-tracing with the perspective grid can be identical to ray-tracing with a normal grid All the same tricks apply Additional optimizations for point-origin i i rays Step only in z Use projected triangle intersection x

System Overview (again): Use one perspective grid acceleration structure per light or camera R b ild ll id Rebuild all grids every frame

Eye-Rays: Two-Level Grid Outer level: l coarse, stores geometry Doesn t split in z (intersection is really cheap) Inner level: fine, stores rays Matched to the cache size of the machine Uses back-face culling x x x

Shadow Rays: One Grid per Light Fine, stores geometry and minimum depth Uses minimum depth for depth-culling (details in the paper) Uses front-face culling Increases minimum depth Avoids shadow rayy launch problem

Results We achieve real-time visibility on a desktop PC for primary visibility and hard shadows All scenes are fully dynamic High resolution: 1920x1080 We demonstrate the ability of a perspective grid to trace off-axis rays at reduced performance

Scenes: Courtyard: ~31k Polygons FForest020: ~174k Polygons

Interactive on One Core Scene Rays FPS Build Mray/s Courtyard Primary 30 5% 68 FForest20 Primary 17 17% 39 Courtyard P+Hard 8 10% 36 FForest20 P+Hard 6 33% 27 Courtyard P+Soft 0.26 0% 5.3 FForest20 P+Soft 0.11 1% 2.3

Real Time on 8 Cores Scene Rays FPS Build Mray/s Courtyard Primary 150 27% 342 FForest20 Primary 55 56% 125 Courtyard P+Hard 34 41% 155 FForest20 P+Hard 14 78% 64 Courtyard P+Soft 2 2% 41 FForest20 P+Soft.5 4% 15

Results Comparison (In the paper) As fast or faster than than MLRTA for primary visibility (our times include build) Faster than other fully dynamic ray-tracers for eye and hard shadow rays Competitive with a commercial software rasterizer for triangle rate and transform rate

Conclusions: Take Away Messages A continuum of structures/algorithms exist between ray-tracing and rasterization Grid Perspective Grid Z-buffer Perspective Grid is a very effective, drop in hard-shadow algorithm using ray-tracing Also competitive with z-buffer for primary visibility Many special case acceleration structures are often faster than a single generic one

Future Work Multi-threaded grid build Lots of applicable shadow-mapping research The perspective grid performs relatively poorly for off-axis rays: Largely due to teapot in a stadium effects Addressed d with adaptive acceleration structures t