Specialized Acceleration Structures for Ray-Tracing Warren Hunt Bill Mark.

Slides:



Advertisements
Similar presentations
Christian Lauterbach COMP 770, 2/16/2009. Overview  Acceleration structures  Spatial hierarchies  Object hierarchies  Interactive Ray Tracing techniques.
Advertisements

Optimized Stencil Shadow Volumes
Graphics Pipeline.
Optimized Stencil Shadow Volumes
Ray Tracing Ray Tracing 1 Basic algorithm Overview of pbrt Ray-surface intersection (triangles, …) Ray Tracing 2 Brute force: Acceleration data structures.
Ray Tracing CMSC 635. Basic idea How many intersections?  Pixels  ~10 3 to ~10 7  Rays per Pixel  1 to ~10  Primitives  ~10 to ~10 7  Every ray.
Render Cache John Tran CS851 - Interactive Ray Tracing February 5, 2003.
Week 10 - Monday.  What did we talk about last time?  Global illumination  Shadows  Projection shadows  Soft shadows.
3D Graphics Rendering and Terrain Modeling
Two Methods for Fast Ray-Cast Ambient Occlusion Samuli Laine and Tero Karras NVIDIA Research.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Hidden Surface Removal 고려대학교 컴퓨터 그래픽스 연구실.
Shadow and Shadow Maps [5]. Object without shadow seem floating above the scene Shadow gives the depth information Shadow gives the information of the.
Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London.
ATEC Procedural Animation Introduction to Procedural Methods in 3D Computer Animation Dr. Midori Kitagawa.
Week 14 - Monday.  What did we talk about last time?  Bounding volume/bounding volume intersections.
1 Dr. Scott Schaefer Shadows. 2/40 Shadows Shadows provide clues about depth Make scenes appear more realistic.
I3D Fast Non-Linear Projections using Graphics Hardware Jean-Dominique Gascuel, Nicolas Holzschuch, Gabriel Fournier, Bernard Péroche I3D 2008.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
Chapter 6: Vertices to Fragments Part 2 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
Tomas Mőller © 2000 Speeding up your game The scene graph Culling techniques Level-of-detail rendering (LODs) Collision detection Resources and pointers.
Computer Graphics (Fall 2005) COMS 4160, Lecture 21: Ray Tracing
Specialized Acceleration Structures for Ray-Tracing Warren Hunt Bill Mark.
A Real-Time Soft Shadow Volume Algorithm DTU Vision days Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology Sweden
1 View Coherence Acceleration for Ray Traced Animation University of Colorado at Colorado Springs Master’s Thesis Defense by Philip Glen Gage April 19,
Shadow Algorithms Gerald Matzka Computer Science Seminar.
IN4151 Introduction 3D graphics 1 Introduction to 3D computer graphics part 2 Viewing pipeline Multi-processor implementation GPU architecture GPU algorithms.
Bounding Volume Hierarchies and Spatial Partitioning Kenneth E. Hoff III COMP-236 lecture Spring 2000.
Apex Point Map for Constant-Time Bounding Plane Approximation Samuli Laine Tero Karras NVIDIA.
Introduction to 3D Graphics John E. Laird. Basic Issues u Given a internal model of a 3D world, with textures and light sources how do you project it.
Shadows Computer Graphics. Shadows Shadows Extended light sources produce penumbras In real-time, we only use point light sources –Extended light sources.
Voxelized Shadow Volumes Chris Wyman Department of Computer Science University of Iowa High Performance Graphics 2011.
Computer Graphics 2 Lecture x: Acceleration Techniques for Ray-Tracing Benjamin Mora 1 University of Wales Swansea Dr. Benjamin Mora.
Interactive Ray Tracing: From bad joke to old news David Luebke University of Virginia.
COMP 175: Computer Graphics March 24, 2015
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
CSM Scrolling An acceleration technique for the rendering of cascaded shadow maps.
MIT EECS 6.837, Durand and Cutler Graphics Pipeline: Projective Transformations.
09/11/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Graphics Pipeline Texturing Overview Cubic Environment Mapping.
Week 2 - Friday.  What did we talk about last time?  Graphics rendering pipeline  Geometry Stage.
Ray Tracing Chapter CAP4730: Computational Structures in Computer Graphics.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Rendering Overview CSE 3541 Matt Boggus. Rendering Algorithmically generating a 2D image from 3D models Raster graphics.
Using BSP for CD Ref: BSP in deBerg et al ’ s book (url)url.
Real-time Graphics for VR Chapter 23. What is it about? In this part of the course we will look at how to render images given the constrains of VR: –we.
Binary Space Partitioning Trees Ray Casting Depth Buffering
Hidden Surface Removal
David Luebke11/26/2015 CS 551 / 645: Introductory Computer Graphics David Luebke
Sample Based Visibility for Soft Shadows using Alias-free Shadow Maps Erik Sintorn – Ulf Assarsson – uffe.
Hierarchical Penumbra Casting Samuli Laine Timo Aila Helsinki University of Technology Hybrid Graphics, Ltd.
04/23/03© 2003 University of Wisconsin Where We’ve Been Photo-realistic rendering –Accurate modeling and rendering of light transport and surface reflectance.
Interactive Ray Tracing of Dynamic Scenes Tomáš DAVIDOVIČ Czech Technical University.
Ray Tracing Fall, Introduction Simple idea  Forward Mapping  Natural phenomenon infinite number of rays from light source to object to viewer.
Ray Tracing II. HW1 Part A due October 10 Camera module Object module –Read from a file –Sphere and Light only Ray tracer module: –No shading. No reflection.
Bounding Volume Hierarchy. The space within the scene is divided into a grid. When a ray travels through a scene, it only passes a few boxes within the.
CS559: Computer Graphics Final Review Li Zhang Spring 2010.
Computer Graphics I, Fall 2010 Implementation II.
Honours Graphics 2008 Session 5. Today’s focus Rasterization Visibility determination Coarse / fine visibility determination.
Virtual Light Field Group University College London Ray Tracing with the VLF (VLF-RT) Jesper Mortensen
1 CSCE 441: Computer Graphics Hidden Surface Removal Jinxiang Chai.
BSP Tree Supplement Jyun-Ming Chen. Fall Kd-Tree and BSP tree kd-tree is a special kind of bsp tree.
David Luebke 3/5/2016 Advanced Computer Graphics Lecture 4: Faster Ray Tracing David Luebke
Path/Ray Tracing Examples. Path/Ray Tracing Rendering algorithms that trace photon rays Trace from eye – Where does this photon come from? Trace from.
09/23/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Reflections Shadows Part 1 Stage 1 is in.
SHADOW CASTER CULLING FOR EFFICIENT SHADOW MAPPING JIŘÍ BITTNER 1 OLIVER MATTAUSCH 2 ARI SILVENNOINEN 3 MICHAEL WIMMER 2 1 CZECH TECHNICAL UNIVERSITY IN.
Shuen-Huei Guan Seminar in CMLab, NTU
Scene Manager Creates and places movable objects like lights and cameras so as to access them efficiently, e.g. for rendering. Loads and assembles world.
3D Graphics Rendering PPT By Ricardo Veguilla.
Hybrid Ray Tracing of Massive Models
© University of Wisconsin, CS559 Fall 2004
GEARS: A General and Efficient Algorithm for Rendering Shadows
Presentation transcript:

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 structures for static 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 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 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 Grid: Uniform Space: World Grid: Perspective Space: Perspective Grid: Uniform

The Math Behind the Transform The perspective transform can be described 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 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 (cube-mapping)

Our System Overview: Use one perspective grid acceleration structure per light or camera 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 Grid: Uniform Space: World Grid: Perspective Space: Perspective 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 rays – Step only in z’ – Use projected triangle intersection x

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

x x x Eye-Rays: Two-Level Grid Outer level: 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

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 ray- 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 SceneRaysFPSBuildMray/s CourtyardPrimary305%68 FForest20Primary1717%39 CourtyardP+Hard810%36 FForest20P+Hard633%27 CourtyardP+Soft0.260%5.3 FForest20P+Soft0.111%2.3

Real Time on 8 Cores SceneRaysFPSBuildMray/s CourtyardPrimary15027%342 FForest20Primary5556%125 CourtyardP+Hard3441%155 FForest20P+Hard1478%64 CourtyardP+Soft22%41 FForest20P+Soft.54%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 with adaptive acceleration structures