Presentation is loading. Please wait.

Presentation is loading. Please wait.

RT06 conferenceVlastimil Havran On the Fast Construction of Spatial Hierarchies for Ray Tracing Vlastimil Havran 1,2 Robert Herzog 1 Hans-Peter Seidel.

Similar presentations


Presentation on theme: "RT06 conferenceVlastimil Havran On the Fast Construction of Spatial Hierarchies for Ray Tracing Vlastimil Havran 1,2 Robert Herzog 1 Hans-Peter Seidel."— Presentation transcript:

1 RT06 conferenceVlastimil Havran On the Fast Construction of Spatial Hierarchies for Ray Tracing Vlastimil Havran 1,2 Robert Herzog 1 Hans-Peter Seidel 1 1 MPI Informatik, Saarbruecken, Germany 2 Czech Technical University in Prague

2 RT06 conferenceVlastimil Havran Talk Outline Previous work H-trees AH-trees Performance results

3 RT06 conferenceVlastimil Havran Previous Work

4 RT06 conferenceVlastimil Havran Previous Work Kd-trees in O(N log N) Bounding volume hierarchies BVH in O(N log N) Two-level data structures for hierarchical motion (Wald et al. 03) Parallel tree traversal (Szecsi et al. 03) + Concurrent papers this year (EGSR’06, EG’06, RT06)

5 RT06 conferenceVlastimil Havran Approaches to Animated Scenes Set of frames, planned motion or not ? Some objects are moving (1%, 50%, or 100%?) Two Approaches Rebuild data structures from scratch for every frame Update data structures for new object positions

6 RT06 conferenceVlastimil Havran Most Objects Are Moving …. Rebuild from scratch? Why possibly better? High quality of data structures for ray tracing Fast rebuild from scratch is useful in general, also for larger static scenes Fast rebuild from scratch has not been addressed well in CG publications

7 RT06 conferenceVlastimil Havran Spatial Sorting Spatial sorting is a base of ray tracing, it is an extension to quicksort. Clearly, sorting is O(N log N) Why then radix-sort is O(N) ? Project goal: could we make faster spatial sorting in radix-sort like manner?

8 RT06 conferenceVlastimil Havran Some Other Issues Definition: object – 3D geometric primitive, which defines a bounding box, and operation ray-object intersection (point + normal) Binary-Interpolation Search: search over the monotonically increasing values in array, using two phases – interpolation search O(log log N) – binary search O(log N)

9 RT06 conferenceVlastimil Havran Intro to Spatial KD-trees (SKD-trees) Using two splitting planes Proposed by Ooi et al. in 1987 as spatial index for objects as extension to kd-trees Overlapping Configuration Disjoint Configuration

10 RT06 conferenceVlastimil Havran Spatial KD-trees Properties Each object is referenced just once It is not a spatial subdivision (spatial regions can overlap) More memory efficient than BVH (only two planes in a node, not six planes) Interesting candidate for ray tracing

11 RT06 conferenceVlastimil Havran Cost Model for Ray Tracing C_T … cost of traversing interior nodes C_L … cost of incidence operation in leaves C_R … cost of accessing the data from internal or external memory Typical cost model for a spatial hierarchy: C = C_T + C_L + C_R C = C_TS * N_TS + C_LO * N_LO + C_Access * N_Access

12 RT06 conferenceVlastimil Havran Cost Model Based Construction It is also referred to as SAH (surface area heuristics) Local greedy decision, where to put splitting planes + recursion + stopping criteria Cost = N_L * Prob_L + N_R * Prob_R Probability given by surface area of the box of the left and on the right child node Problem is evaluation of N_L and N_R

13 RT06 conferenceVlastimil Havran Normalized Cost Function for Many Objects

14 RT06 conferenceVlastimil Havran SKD-tree + Cost Model Using buckets to find out minimum of the cost (at most 100 buckets) Objects are put to buckets according to their centroids Recording also minima and maxima of object boxes in buckets Sweep-plane algorithm to compute tight left and right bounding boxes

15 RT06 conferenceVlastimil Havran Performance of Pure SKD-trees It is rather low, not competitive with kd-trees Low performance means: too many traversal steps and ray-object intersections Need for better bounding of objects A hybrid data structures using bounding primitives and SKD-tree nodes

16 RT06 conferenceVlastimil Havran How Many Bounding Volume Primitives in 3D ? Assumption: axis-aligned bounding planes In total 63 possibilities: – 1 plane, 6 cases – corresponds to kd-tree – 2 planes, 15 cases – we use only parallel planes (3 cases in 3D) – 3 planes, 20 cases – 4 planes, 15 cases – 5 planes, 6 cases – 6 planes, 1 case – corresponds to BVH

17 RT06 conferenceVlastimil Havran H-trees: SKD-trees + Bounding Volumes Primitives Seven types of internal nodes 3 types (x,y,z axis) 1 type (6 planes)

18 RT06 conferenceVlastimil Havran H-trees: Construction Algorithm Select an axis (X, or Y, or Z) Decide if to put an bounding node based on the cost (details in the paper) Select the number of buckets N (-,10,100) Distribute the objects to the buckets - keep minima and maxima in 3 axis in the bucket By sweep-plane compute cost function for all N buckets, select minimum cost Distribute the objects into left and right child Recurse until having one object in a node (leaf)

19 RT06 conferenceVlastimil Havran H-trees: Results Tests on SPD scenes (30 scenes) by Eric Haines + other 12 scenes of different distributions Used by recursive ray tracing and also only ray casting (primary rays) In paper results for only 9 scenes.

20 RT06 conferenceVlastimil Havran Reference: kd-trees Termination criteria: 4 objects in a leaf No split clipping operation O(N log N) complexity Highly optimized C++ code (but no SSE, no multithreading) Construction: about 1,0 seconds for 100,000 objects for 3.5 leaf references per object on a PC Ray tracing: about 300,000 rays per second for completely random rays (= incoherent rays)

21 RT06 conferenceVlastimil Havran H-trees: Results Parts of the cost model – N_TS … number of traversal steps – N_LO … number of ray object intersection tests – N_Access … number of memory accesses Timings for H-trees construction – 2.4 to 12 times faster than kd-trees Timings for tracing rays – Comparable with kd-trees

22 RT06 conferenceVlastimil Havran AH-trees: Motivation Avoid resorting Modification of method Reif and Tate, 1998, for a set of points in 3D, achieving time complexity O(N log log N) Mimic radix-sort and hence possibly decrease complexity Use cost model based on SAH Use H-trees nodes

23 RT06 conferenceVlastimil Havran AH-trees: Avoiding Resorting Use buckets in 3D = uniform grid in 3D Classify objects as “small” and “oversize” “Small object” allows to limit the object extent by a box if we know about the presence of an object in a grid cell

24 RT06 conferenceVlastimil Havran AH-trees: Construction Algorithm Select a grid resolution, construct grid Classify objects as “small” and “oversize” Construct H-trees over “small” objects in predefined position given by 3D grid, in leaves – Recurse by AH-trees construction algorithm – Recurse by H-trees construction algorithm – Create references to a leaf Decide to which level belong oversize objects Create ternary child nodes processing oversize objects, creating AH-trees or H-trees

25 RT06 conferenceVlastimil Havran AH-trees: Ternary child example Ternary child

26 RT06 conferenceVlastimil Havran AH-trees: Results Parts of the cost model – N_TS … number of traversal steps – N_LO … number of ray object intersection tests – N_Access … number of memory accesses Timings for AH-trees construction – 4 to 20 times faster than kd-trees Timings for tracing rays – Up to 4 times slower than kd-trees for skewed object distribution – Comparable to kd-trees for moderately uniform object distribution

27 RT06 conferenceVlastimil Havran AH-trees: Consideration The deeper in the hierarchy in a single grid, the resolution of cost function evaluation is smaller The spatial sorting is approximate using the object centroids There is a tradeoff between time complexity for construction and ray tracing performance For limited object size O(N log log N)

28 RT06 conferenceVlastimil Havran Ray Traversal Algorithm C/C++ switch for more node types (no problem, CPU branch prediction fails anyway) Interval-based technique similar to kd-trees (but overlapping intervals) The source code is straightforward For AH-trees the ternary child subtrees are traversed first

29 RT06 conferenceVlastimil Havran ConclusionConclusion Hybrid spatial hierarchy H-trees introduced as SKD-tree nodes + bounding volume nodes AH-trees as way of approximate sorting for H-trees, achieving smaller construction time and worse performance (tradeoff) Performance results in the paper

30 RT06 conferenceVlastimil Havran Future Work Implementation work: ray packets for H-trees Research work: tuning between construction time and performance for AH-trees Hybrid trees with more types of nodes

31 RT06 conferenceVlastimil Havran Take Home Message Efficient ray tracing = Efficient spatial hierarchy (tree) Efficient = performance = cost model Efficient spatial hierarchy – top-down construction – cost-based model decision (with SAH) – termination criteria State of the art ?

32 RT06 conferenceVlastimil Havran Popper’s model of natural sciences real inputs experiments design analysis implementation Falsifiable hypothesis Asymptotic bounds induction deduction Karl Popper, 1934 (The Logic of Scientific Discovery)


Download ppt "RT06 conferenceVlastimil Havran On the Fast Construction of Spatial Hierarchies for Ray Tracing Vlastimil Havran 1,2 Robert Herzog 1 Hans-Peter Seidel."

Similar presentations


Ads by Google