Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Compact BVH Storage for Ray Tracing and Photon Mapping Bartosz Fabianowski ∙ John.

Slides:



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

CSE 681 Bounding Volumes. CSE 681 Bounding Volumes Use simple volume enclose object(s) tradeoff for rays where there is extra intersection test for object.
Collision Detection CSCE /60 What is Collision Detection?  Given two geometric objects, determine if they overlap.  Typically, at least one of.
Computer graphics & visualization Collisions. computer graphics & visualization Simulation and Animation – SS07 Jens Krüger – Computer Graphics and Visualization.
Searching on Multi-Dimensional Data
Latency considerations of depth-first GPU ray tracing
RT06 conferenceVlastimil Havran On the Fast Construction of Spatial Hierarchies for Ray Tracing Vlastimil Havran 1,2 Robert Herzog 1 Hans-Peter Seidel.
Experiences with Streaming Construction of SAH KD Trees Stefan Popov, Johannes Günther, Hans-Peter Seidel, Philipp Slusallek.
K-structure, Separating Chain, Gap Tree, and Layered DAG Presented by Dave Tahmoush.
Ray Tracing Acceleration Structures Solomon Boulos 4/16/2004.
Bounding Volume Hierarchies and Spatial Partitioning Kenneth E. Hoff III COMP-236 lecture Spring 2000.
Fast Agglomerative Clustering for Rendering Bruce Walter, Kavita Bala, Cornell University Milind Kulkarni, Keshav Pingali University of Texas, Austin.
O RTHOGONAL R ANGE S EARCHING الهه اسلامی فروردین 92, 1.
1 Advanced Scene Management System. 2 A tree-based or graph-based representation is good for 3D data management A tree-based or graph-based representation.
November 6, /37 cs123 INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam © Acceleration Data Structures CS123.
Efficient Distance Computation between Non-Convex Objects By Sean Quinlan Presented by Sean Augenstein and Nicolas Lee.
Collision Detection David Johnson Cs6360 – Virtual Reality.
Orthogonal Range Searching I Range Trees. Range Searching S = set of geometric objects Q = query object Report/Count objects in S that intersect Q Query.
Computer Graphics 2 Lecture x: Acceleration Techniques for Ray-Tracing Benjamin Mora 1 University of Wales Swansea Dr. Benjamin Mora.
Data Structures for Computer Graphics Point Based Representations and Data Structures Lectured by Vlastimil Havran.
Spatial Data Structures Jason Goffeney, 4/26/2006 from Real Time Rendering.
UNC Chapel Hill M. C. Lin Point Location Reading: Chapter 6 of the Textbook Driving Applications –Knowing Where You Are in GIS Related Applications –Triangulation.
10/09/2001CS 638, Fall 2001 Today Spatial Data Structures –Why care? –Octrees/Quadtrees –Kd-trees.
1 Trees Tree nomenclature Implementation strategies Traversals –Depth-first –Breadth-first Implementing binary search trees.
1 Speeding Up Ray Tracing Images from Virtual Light Field Project ©Slides Anthony Steed 1999 & Mel Slater 2004.
UNC Chapel Hill M. C. Lin Orthogonal Range Searching Reading: Chapter 5 of the Textbook Driving Applications –Querying a Database Related Application –Crystal.
Graphics Graphics Korea University cgvr.korea.ac.kr Solid Modeling 고려대학교 컴퓨터 그래픽스 연구실.
SPATIAL DATA STRUCTURES Jon McCaffrey CIS 565. Goals  Spatial Data Structures (Construction esp.)  Why  What  How  Designing Algorithms for the GPU.
Trees Chapter 8. Chapter 8: Trees2 Chapter Objectives To learn how to use a tree to represent a hierarchical organization of information To learn how.
On a Few Ray Tracing like Algorithms and Structures. -Ravi Prakash Kammaje -Swansea University.
Chapter 13 B Advanced Implementations of Tables – Balanced BSTs.
PRESENTED BY – GAURANGI TILAK SHASHANK AGARWAL Collision Detection.
Saarland University, Germany B-KD Trees for Hardware Accelerated Ray Tracing of Dynamic Scenes Sven Woop Gerd Marmitt Philipp Slusallek.
Click to edit Master title style HCCMeshes: Hierarchical-Culling oriented Compact Meshes Tae-Joon Kim 1, Yongyoung Byun 1, Yongjin Kim 2, Bochang Moon.
Interactive Rendering With Coherent Ray Tracing Eurogaphics 2001 Wald, Slusallek, Benthin, Wagner Comp 238, UNC-CH, September 10, 2001 Joshua Stough.
Fast BVH Construction on GPUs (Eurographics 2009) Park, Soonchan KAIST (Korea Advanced Institute of Science and Technology)
Stefan Popov Space Subdivision for BVHs Stefan Popov, Iliyan Georgiev, Rossen Dimov, and Philipp Slusallek Object Partitioning Considered Harmful: Space.
Data Structures Types of Data Structure Data Structure Operations Examples Choosing Data Structures Data Structures in Alice.
Hierarchical Penumbra Casting Samuli Laine Timo Aila Helsinki University of Technology Hybrid Graphics, Ltd.
1 5. Abstract Data Structures & Algorithms 5.1 Data Structure Fundamentals.
M180: Data Structures & Algorithms in Java Trees & Binary Trees Arab Open University 1.
Presented by Paul Phipps
MIT EECS 6.837, Durand and Cutler Acceleration Data Structures for Ray Tracing.
Ray Tracing Optimizations
Ray Tracing Acceleration (5). Ray Tracing Acceleration Techniques Too Slow! Uniform grids Spatial hierarchies K-D Octtree BSP Hierarchical grids Hierarchical.
Trees CSIT 402 Data Structures II 1. 2 Why Do We Need Trees? Lists, Stacks, and Queues are linear relationships Information often contains hierarchical.
Solid Modeling Dr. Scott Schaefer.
Ray Tracing Acceleration (3)
Watertight Reduced-Precision Traversal Karthik Vaidyanathan Tomas Akenine-Möller Marco Salvi.
Fabianowski · DinglianaInteractive Global Photon Mapping1 / 22 Interactive Global Photon Mapping Bartosz Fabianowski · John Dingliana Trinity College Dublin.
CSE 373 Data Structures Lecture 7
Bounding Volume Hierarchies and Spatial Partitioning
Hybrid Ray Tracing and Path Tracing of Bezier Surfaces using a mixed hierarchy Rohit Nigam, P. J. Narayanan CVIT, IIIT Hyderabad, Hyderabad, India.
STBVH: A Spatial-Temporal BVH for Efficient Multi-Segment Motion Blur
Collision Detection Spring 2004.
Bounding Volume Hierarchies and Spatial Partitioning
Tree.
Deformable Collision Detection
Modeliranje kompleksnih modelov
Real-Time Ray Tracing Stefan Popov.
Ray Tracing, Part 1 Dinesh Manocha COMP 575/770.
Accelerated Single Ray Tracing for Wide Vector Units
Binding Times Binding is an association between two things Examples:
Representing binary trees with lists
CS679 - Fall Copyright Univ. of Wisconsin
Deformable Collision Detection
CMPS 3130/6130 Computational Geometry Spring 2017
BVH Student: Jack Chang.
Modeliranje kompleksnih modelov
Wide BVH traversal with a short stack
Presentation transcript:

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Compact BVH Storage for Ray Tracing and Photon Mapping Bartosz Fabianowski ∙ John Dingliana Trinity College Dublin 1 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Ray Tracing 2 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Ray Tracing 2 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Ray Tracing 2 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Photon Mapping 3 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Photon Mapping 3 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Spatial Index (1/2) ● Geometric search through primitives: ● Naïve: ● With spatial index: ● Spatial index: ● Hierarchical organization of primitives ● Traversed recursively from root ● Using stack for branching ● Construction, storage, traversal overhead 4 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Spatial Index (2/2) ● Kd-Tree: Binary hierarchy of axis-aligned cutting planes ● BVH: Binary hierarchy of tightly fitting axis- aligned bounding boxes 5 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana BVH: Ray Tracing 6 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana BVH: Ray Tracing 6 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana BVH: Ray Tracing 6 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana BVH: Ray Tracing 6 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana BVH: Ray Tracing 6 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana BVH: Photon Mapping 7 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana BVH: Photon Mapping 7 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana BVH: Photon Mapping 7 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana BVH: Photon Mapping 7 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana BVH: Photon Mapping 7 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana BVH: Photon Mapping 7 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana BVH: Photon Mapping 7 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Storage Overhead ● Each node is bounded by six planes: ● Each node has two child references: ● Total storage overhead per node: 8 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Child Node Bounding Planes 9 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Child Node Bounding Planes 9 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Child Node Bounding Planes 9 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Child Node Bounding Planes 9 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Child Node Bounding Planes 9 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Child Node Bounding Planes 9 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Child Node Bounding Planes 9 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Compact BVH ● At most six of a node pair's twelve bounding planes are not inherited from the parent ● Store only non-inherited planes ● Each node pair has up to six bounding planes: ● Each node pair has two child references: ● Total storage overhead per node pair: 10 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Ray Tracing Traversal (1/4) 11 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Ray Tracing Traversal (1/4) 11 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Ray Tracing Traversal (1/4) 11 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Ray Tracing Traversal (1/4) 11 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Ray Tracing Traversal (1/4) 11 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Ray Tracing Traversal (1/4) 11 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Ray Tracing Traversal (1/4) 11 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Ray Tracing Traversal (1/4) 11 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Ray Tracing Traversal (1/4) 11 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Ray Tracing Traversal (2/4) 12 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Ray Tracing Traversal (2/4) 12 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Ray Tracing Traversal (2/4) 12 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Ray Tracing Traversal (2/4) 12 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Ray Tracing Traversal (2/4) 12 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Ray Tracing Traversal (2/4) 12 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Ray Tracing Traversal (2/4) 12 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Ray Tracing Traversal (3/4) ● Slabs test: ● Compute interval along ray intersecting node ● Requires all six bounding planes to be known ● Compact BVH: ● Keep track of current interval ● Clip using new bounding planes 13 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Ray Tracing Traversal (4/4) 14 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Photon Mapping Traversal (1/3) 15 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Photon Mapping Traversal (1/3) 15 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Photon Mapping Traversal (1/3) 15 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Photon Mapping Traversal (1/3) 15 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Photon Mapping Traversal (1/3) 15 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Photon Mapping Traversal (1/3) 15 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Photon Mapping Traversal (1/3) 15 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Photon Mapping Traversal (1/3) 15 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Photon Mapping Traversal (1/3) 15 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Photon Mapping Traversal (2/3) ● Point test: ● Check whether inside each bounding plane ● Can ignore inherited bounding planes ● Compact BVH: ● Check whether inside new bounding planes ● Distribute results to children using bit masks 16 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Photon Mapping Traversal (3/3) 17 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Results: Ray Tracing 18 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Results: Photon Mapping 19 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana 20 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Conclusions ● BVH advantage: ● Fast Rebuilds/Refits ● BVH disadvantage: ● Storage Overhead ● Our compact BVH representation: ● Reduces storage overhead ● Reduces traversal bandwidth ● Increases frame rate ● Leaves construction cost unchanged 21 / 22

Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Questions? 22 / 22