Stefan Popov Space Subdivision for BVHs Stefan Popov, Iliyan Georgiev, Rossen Dimov, and Philipp Slusallek Object Partitioning Considered Harmful: Space.

Slides:



Advertisements
Similar presentations
2.6. B OUNDING V OLUME H IERARCHIES Overview of different forms of bounding volume hierarchy.
Advertisements

Christian Lauterbach COMP 770, 2/16/2009. Overview  Acceleration structures  Spatial hierarchies  Object hierarchies  Interactive Ray Tracing techniques.
Spatial Indexing SAMs. Spatial Indexing Point Access Methods can index only points. What about regions? Z-ordering and quadtrees Use the transformation.
Restart Trail for Stackless BVH Traversal Samuli Laine NVIDIA Research.
Ray Tracing Ray Tracing 1 Basic algorithm Overview of pbrt Ray-surface intersection (triangles, …) Ray Tracing 2 Brute force: Acceleration data structures.
Computer graphics & visualization Collisions. computer graphics & visualization Simulation and Animation – SS07 Jens Krüger – Computer Graphics and Visualization.
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.
CSE 381 – Advanced Game Programming Scene Management
Fast Algorithm for Nearest Neighbor Search Based on a Lower Bound Tree Yong-Sheng Chen Yi-Ping Hung Chiou-Shann Fuh 8 th International Conference on Computer.
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.
Afrigraph 2004 Interactive Ray-Tracing of Free-Form Surfaces Carsten Benthin Ingo Wald Philipp Slusallek Computer Graphics Lab Saarland University, Germany.
1 Dr. Scott Schaefer Hidden Surfaces. 2/62 Hidden Surfaces.
Ray Tracing Acceleration Structures Solomon Boulos 4/16/2004.
Bounding Volume Hierarchy “Efficient Distance Computation Between Non-Convex Objects” Sean Quinlan Stanford, 1994 Presented by Mathieu Brédif.
Optimized Subdivisions for Preprocessed Visibility Oliver Mattausch, Jiří Bittner, Peter Wonka, Michael Wimmer Institute of Computer Graphics and Algorithms.
Introduction to Parallel Rendering: Sorting, Chromium, and MPI Mengxia Zhu Spring 2006.
Haptic Cloth Rendering 6th Dutch-Belgian Haptics Meeting TUDelft, 21 st June 2006 Lode Vanacken Expertise centre for Digital Media (EDM) Hasselt University.
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.
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.
Quadtrees and Mesh Generation Student Lecture in course MATH/CSC 870 Philipp Richter Thursday, April 19 th, 2007.
Spatial Indexing. Spatial Queries Given a collection of geometric objects (points, lines, polygons,...) organize them on disk, to answer point queries.
Collision Detection David Johnson Cs6360 – Virtual Reality.
FLANN Fast Library for Approximate Nearest Neighbors
10/11/2001CS 638, Fall 2001 Today Kd-trees BSP Trees.
10/02/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Octrees.
RAY TRACING ON GPU By: Nitish Jain. Introduction Ray Tracing is one of the most researched fields in Computer Graphics A great technique to produce optical.
R-Trees: A Dynamic Index Structure for Spatial Data Antonin Guttman.
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.
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
Accelerating Ray Tracing using Constrained Tetrahedralizations Ares Lagae & Philip Dutré 19 th Eurographics Symposium on Rendering EGSR 2008Wednesday,
Stefan PopovHigh Performance GPU Ray Tracing Real-time Ray Tracing on GPU with BVH-based Packet Traversal Stefan Popov, Johannes Günther, Hans- Peter Seidel,
Visible-Surface Detection Jehee Lee Seoul National University.
PRESENTED BY – GAURANGI TILAK SHASHANK AGARWAL Collision Detection.
Deferred Decision Making Enabled Fixed- Outline Floorplanner Jackey Z. Yan and Chris Chu DAC 2008.
CS-378: Game Technology Lecture #2.2: Clipping and Hidden Surfaces Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney,
Saarland University, Germany B-KD Trees for Hardware Accelerated Ray Tracing of Dynamic Scenes Sven Woop Gerd Marmitt Philipp Slusallek.
Fast BVH Construction on GPUs (Eurographics 2009) Park, Soonchan KAIST (Korea Advanced Institute of Science and Technology)
Patch Based Prediction Techniques University of Houston By: Paul AMALAMAN From: UH-DMML Lab Director: Dr. Eick.
Spatial Indexing Techniques Introduction to Spatial Computing CSE 5ISC Some slides adapted from Spatial Databases: A Tour by Shashi Shekhar Prentice Hall.
R-Trees: A Dynamic Index Structure For Spatial Searching Antonin Guttman.
Where We Stand At this point we know how to: –Convert points from local to window coordinates –Clip polygons and lines to the view volume –Determine which.
Maths & Technologies for Games Spatial Partitioning 2
Advanced topics Advanced Multimedia Technology: Computer Graphics Yung-Yu Chuang 2006/01/04 with slides by Brian Curless, Zoran Popovic, Mario Costa Sousa.
1 CSIS 7101: CSIS 7101: Spatial Data (Part 1) The R*-tree : An Efficient and Robust Access Method for Points and Rectangles Rollo Chan Chu Chung Man Mak.
1 CSCE 441: Computer Graphics Hidden Surface Removal Jinxiang Chai.
David Luebke 3/5/2016 Advanced Computer Graphics Lecture 4: Faster Ray Tracing David Luebke
Iterative K-Means Algorithm Based on Fisher Discriminant UNIVERSITY OF JOENSUU DEPARTMENT OF COMPUTER SCIENCE JOENSUU, FINLAND Mantao Xu to be presented.
Common Intersection of Half-Planes in R 2 2 PROBLEM (Common Intersection of half- planes in R 2 ) Given n half-planes H 1, H 2,..., H n in R 2 compute.
Ray Tracing Acceleration (5). Ray Tracing Acceleration Techniques Too Slow! Uniform grids Spatial hierarchies K-D Octtree BSP Hierarchical grids Hierarchical.
1 Advanced Scene Management. 2 This is a game-type-oriented issue Bounding Volume Hierarchies (BVHs) Binary space partition trees (BSP Trees) “Quake”
Ray Tracing Acceleration (3)
Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Compact BVH Storage for Ray Tracing and Photon Mapping Bartosz Fabianowski ∙ John.
Visibility-Driven View Cell Construction Oliver Mattausch, Jiří Bittner, Michael Wimmer Institute of Computer Graphics and Algorithms Vienna University.
Spatial Data Management
Bounding Volume Hierarchies and Spatial Partitioning
STBVH: A Spatial-Temporal BVH for Efficient Multi-Segment Motion Blur
Collision Detection Spring 2004.
Bounding Volume Hierarchies and Spatial Partitioning
Modeliranje kompleksnih modelov
Real-Time Ray Tracing Stefan Popov.
Comparing Genetic Algorithm and Guided Local Search Methods
CSCE 441: Computer Graphics Hidden Surface Removal
Mayank Bhatt, Jayasi Mehar
On Spatial Joins in MapReduce
BVH Student: Jack Chang.
Modeliranje kompleksnih modelov
Presentation transcript:

Stefan Popov Space Subdivision for BVHs Stefan Popov, Iliyan Georgiev, Rossen Dimov, and Philipp Slusallek Object Partitioning Considered Harmful: Space Subdivision for BVHs

Stefan Popov Space Subdivision for BVHs Motivation  Classical BVH construction is not perfect  Looks only at primitive’s centroids  How much more performance is there?

Stefan Popov Space Subdivision for BVHs Background  SAH:  Cost based BVH construction: Top-down  Partition set of N’s primitives into N L and N R  Take partition with minimal cost  Exhaustive search: O(2 N )

Stefan Popov Space Subdivision for BVHs Classical BVH Construction  Assumes finely tessellated geometry  Primitive  point

Stefan Popov Space Subdivision for BVHs Can We Do Better?  Optimal partition  Cost ≈ 100  CBVH split  Cost ≈ 700

Stefan Popov Space Subdivision for BVHs Geometric Partitioning  Regular approach: Partition N’s primitives  Evaluate AABBs, and use to compute cost  O(2 N ) partitions to test  Geometric partitioning:  Fix child AABBs and put primitives according to SAH  Some configurations are infeasible  Child AABB boundaries ≡ boundaries of primitives  O(N 12 ) configurations to test

Stefan Popov Space Subdivision for BVHs Geometric Partitioning Example  Boundaries of N L or R incident with dotted lines  P 4 shared  put into node with smaller SA

Stefan Popov Space Subdivision for BVHs Geometric Partitioning Example  Configuration infeasible  P 2 is not covered

Stefan Popov Space Subdivision for BVHs Practical Considerations  O(N 12 ) is actually O(N 6 )  Each side of the parent AABB is inherited by a child  Select child AABBs on a regular grid  Run-time: O(G 6 N 0.5 ) including cost calculation  Choosing G=RN 1/6 yields O(N 1.5 )  Look at CBVH configurations as well

Stefan Popov Space Subdivision for BVHs Results: FPS Random Rays Higher is better

Stefan Popov Space Subdivision for BVHs Results: Surface Area Cost Lower is better

Stefan Popov Space Subdivision for BVHs Result Analysis  Suspect: SAH  Overlap + locally minimizing SAH has adverse effect  Experiment: Use recursive cost evaluation  Tree cost better than CBVH but slower FPS!  Hypothesis: SA model needs space partitioning  Intuition: Early ray termination  New algorithm  Penalize overlap in cost function  Refine search space by allowing primitive splitting

Stefan Popov Space Subdivision for BVHs Splitting Primitives  Feasible and infeasible configurations  Two possible ways to split a primitive  SAH cost is the same

Stefan Popov Space Subdivision for BVHs Search Spaces  Child AABBs  continuum inside parent’s AABB  Not limited to boundary of primitives anymore  Limit search to a grid for practical purposes  Augment with search space of other algorithms  CBVH & KD-tree construction search spaces

Stefan Popov Space Subdivision for BVHs Penalizing Overlap  Bias SAH to account for overlap  C O – the overlap penalty  Standard SAH: C O = 0  Standard SAH with space partitioning: C O  ∞

Stefan Popov Space Subdivision for BVHs The Generic Algorithm  Parameters:  Search space  Overlap penalty  Algorithm  Take configuration  search space with lowest cost  Interesting parameters  CBVH: BVH, C O = 0  Full: Grid + KD tree + BVH, C O  ∞  KDBVH: KD tree, C O irrelevant

Stefan Popov Space Subdivision for BVHs Results: FPS Random Rays Higher is better

Stefan Popov Space Subdivision for BVHs Results: FPS Frustum Traversal Higher is better

Stefan Popov Space Subdivision for BVHs Comparison to Pre-Splitting Higher is better

Stefan Popov Space Subdivision for BVHs Role of Overlap Penalty

Stefan Popov Space Subdivision for BVHs Spatial Build Algorithm  Implement KDBVH using sweep plane  Extensions:  Combine with CBVH to control size using C O  Sampling of cost function  Issues: Might miss cost minimum  Cost is quadratic between split plane positions

Stefan Popov Space Subdivision for BVHs Conclusion & Future Work  SAH inadequate without space partitioning!  Generic framework to study BVH construction  Can explore full 2 N search space  Spatial build algorithm  Fast with near optimal results  Research early termination aware cost function

Stefan Popov Space Subdivision for BVHs Thank you!