BVH Student: Jack Chang.

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.
Intersection Testing Chapter 13 Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology.
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.
Collision Detection and Resolution Zhi Yuan Course: Introduction to Game Development 11/28/
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.
Hidden Surface Removal Why make the effort?  Realistic models.  Wasted time drawing. OpenGL and HSR  OpenGL does handle HSR using the depth buffer.
Week 14 - Monday.  What did we talk about last time?  Bounding volume/bounding volume intersections.
CS447/ Realistic Rendering -- Solids Modeling -- Introduction to 2D and 3D Computer Graphics.
Ray Tracing Acceleration Structures Solomon Boulos 4/16/2004.
OBBTree: A Hierarchical Structure for Rapid Interference Detection Gottschalk, M. C. Lin and D. ManochaM. C. LinD. Manocha Department of Computer Science,
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.
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.
Collision Detection David Johnson Cs6360 – Virtual Reality.
10/11/2001CS 638, Fall 2001 Today Kd-trees BSP Trees.
10/02/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Octrees.
Acceleration Digital Image Synthesis Yung-Yu Chuang 10/4/2005 with slides by Mario Costa Sousa and Pat Hanrahan.
Computer Graphics 2 Lecture x: Acceleration Techniques for Ray-Tracing Benjamin Mora 1 University of Wales Swansea Dr. Benjamin Mora.
Spatial Data Structures Jason Goffeney, 4/26/2006 from Real Time Rendering.
1 Speeding Up Ray Tracing Images from Virtual Light Field Project ©Slides Anthony Steed 1999 & Mel Slater 2004.
Week 13 - Friday.  What did we talk about last time?  Ray/sphere intersection  Ray/box intersection  Slabs method  Line segment/box overlap test.
2D/3D Shape Manipulation, 3D Printing Shape Representations Slides from Olga Sorkine February 20, 2013 CS 6501.
On a Few Ray Tracing like Algorithms and Structures. -Ravi Prakash Kammaje -Swansea University.
Week 13 - Monday.  What did we talk about last time?  Exam 2!  Before that…  Polygonal techniques ▪ Tessellation and triangulation  Triangle strips,
PRESENTED BY – GAURANGI TILAK SHASHANK AGARWAL Collision Detection.
CIS 350 – I Game Programming Instructor: Rolf Lakaemper.
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.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Chapter 11 Collision Detection 가상현실 입문 그래픽스 연구실 민성환.
Presented by Paul Phipps
Constructive Solid Geometry Ray Tracing CSG Models
3D Object Representations 2011, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
February 17, 2005Lecture 6: Point Location Point Location (most slides by Sergi Elizalde and David Pritchard)
Ray Tracing Optimizations
David Luebke 3/5/2016 Advanced Computer Graphics Lecture 4: Faster Ray Tracing David Luebke
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)
Hierarchical Data Structure in Game Programming Yanci Zhang Game Programming Practice.
Layout by orngjce223, CC-BY Compact BVH StorageFabianowski ∙ Dingliana Compact BVH Storage for Ray Tracing and Photon Mapping Bartosz Fabianowski ∙ John.
Week 13 - Wednesday CS361.
Bounding Volume Hierarchies and Spatial Partitioning
Breadth First and Depth First
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.
Spatial data structures -kdtrees
Bounding Volume Hierarchies and Spatial Partitioning
Deformable Collision Detection
Modeliranje kompleksnih modelov
Real-Time Ray Tracing Stefan Popov.
3D Object Representations
3D Object Representation
Parts of these slides are based on
KD Tree A binary search tree where every node is a
Ray Tracing, Part 1 Dinesh Manocha COMP 575/770.
Orthogonal Range Searching and Kd-Trees
Accelerated Single Ray Tracing for Wide Vector Units
CMSC 635 Ray Tracing.
Collision Detection.
Deformable Collision Detection
CS Fall 2012, Lab 11 Haohan Zhu.
Ray Tracing Sung-Eui Yoon (윤성의) CS580: Course URL:
3D Object Representation
David Johnson Cs6360 – Virtual Reality
Modeliranje kompleksnih modelov
Presentation transcript:

BVH Student: Jack Chang

Introduction Problem: Solution approaches: Ray intersection test needs to go through each objects Cost: O(n) Solution approaches: Spatial subdivision Primitive subdivision

Spatial subdivision Such as… Uniform grid K-D tree Oct-tree

Primitive subdivision Instead of working with space, work with the problems themselves. In 1976, James Clark proposed the first hand-constructed BVH.

BVH Key questions How to define the bounding volume? How to construct the hierarchy? How to search the hierarchy?

1. Definition of bounding volume Types Sphere AABB ( Axis aligned bounding box) OBB (Oriented bounding box) K-Dop (K direction discrete orientation polytope)

AABB 3 common representation Min Max Min HWD Center Radius Point min; Point max; Point min; float d[3]; Point c; float r[3];

Kay–Kajiya Slab-based Volumes struct Slab { float n[3]; float dNear; float dFar; };

Kay–Kajiya Slab-based Volumes

K-DOP Similar to the Kay-Kajiya’s slab-based volume But normal are defined as fixed set of axes shared among all BVs. struct DOP6 { float min[3]; float max[3]; };

Which bounding volume is best? It depends…

2. Hierarchy construction 3 approaches Top-Down Bottom-Up Insertion

2. Hierarchy construction 3 approaches Top-Down Bottom-Up Insertion

2. Hierarchy construction 3 approaches Top-Down Bottom-Up Insertion

Top-Down construction Recursive procedure Splitting hyperplane to divide the input set.

Rearrange & Partition Choice of Axis Local x, y, and z coordinate Axis through the two most distant points

Rearrange & Partition Choice of splitting point Objects Median Objects Mean Spatial Mean

Example Code – Tree Construction void BuildTopDownBVH(BVHNode treeNode, ArrayList objects) { Node newNode = new Node(); treeNode.add(newNode); newNode.BoundingVolume = ComputeBoundingVolume(objects);   if( objects.Count <= 1) newNode.Type = LEAF; newNode.Objects = objects; } else newNode.Type = NODE; int splitIdx = RearrangeAndPartitionObjects(objects); BuildTopDownBVH(newNode.LeftTree, objects.Subset(0, splitIdx)); BuildTopDownBVH(newNode.RightTree, objects.Subset(splitIdx, objects.Count);

3. Hierarchy search 2 fundamental tree traversing BFS ( Breadth first search ) DFS ( Depth first search )

Summary What I have talked about… And what I have NOT talked about… Definition of bounding volume Hierarchy construction Hierarchy search And what I have NOT talked about… SAH ( Surface area heuristic ) Compact BVH Informed traversal