accelerating ray tracing using constrained tetrahedralizations
Post on 30-Jan-2016
32 Views
Preview:
DESCRIPTION
TRANSCRIPT
Accelerating Ray Tracing usingConstrained Tetrahedralizations
Ares Lagae & Philip Dutré
19th Eurographics Symposium on Rendering
EGSR 2008 Wednesday, June 25th
Introduction
• Acceleration structures for ray tracing– Computer graphics
• BVH, kd-tree, grid
Mostly practical (complexity? dynamic geometry?)
– Computational geometry• Delaunay triangulation
Mostly theoretical (theorems, proofs, implementations?)
Constrained tetrahedralizations
Introduction
Constrained tetrahedralizations
Construct constrained tetrahedralization
as a preprocess
Use constrained tetrahedralization
during ray traversal
Constrained Triangulation
• 2D triangulation + constraints (edges)
constraintsconstrained Delaunay
triangulation
conforming Delaunay
triangulation
quality Delaunay
triangulation
Constrained Tetrahedralization
• 3D tetrahedralization + constraints (faces)
constrained Delaunay tetrahedralization
quality Delaunay tetrahedralization
Construction
• Piecewise linear complex (PLC)– Very general geometry representation
• Arbitrary polygons, holes, non-manifold geometry, …
– Polygons must properly intersect• Tetrahedralizations cannot have intersecting faces
1. Triangle soup PLC– Eliminate all self-intersections
2. PLC constrained tetrahedralization– TetGen, CGAL
Ray Traversal
• Ray traversal– Locate ray origin– Traverse tetrahedralization one tetrahedron at a time– Stop at constrained face
locate ray origintraverse
triangulation
Ray Traversal
• Locate ray origin– Potentially costly– Accelerate
• Linear search grid, monotone subdivision
– Avoid by exploiting ray connectivity• Rays start at camera position or where previous ray ended
Ray Traversal
• Traverse tetrahedralization– One tetrahedron at a time– Given entry face, determine exit face– Several methods
plane intersections
half space classification
scalar triple products
Ray Traversal
ray hitting scene geometry
ray just missing scene geometry
• Example
Ray Tracing Cost
• Comparison with kd-tree– Ray tracing cost: number of tetrahedra / nodes visited
scenequality Delaunay tetrahedralization
constrained Delaunay tetrahedralization
kd-tree
low high
Ray Tracing Cost
• Teapot-in-a-stadium problem
scenequality Delaunay tetrahedralization
constrained Delaunay tetrahedralization
kd-tree
Advantages
• Deforming and dynamic geometry– Deforming theoretical guarantee– Dynamic efficient update
(log )O G
( )O L
Advantages
• Time complexity of ray traversal– Constrained tetrahedralization
• Linear in local geometric complexity
– Hierarchical acceleration structures (kd-tree, bvh)• Logarithmic at best in global geometric complexity
– No practical results yet• Effect might only show up for large scenes
Advantages
• Optimal constrained tetrahedralizations– Weight tetrahedralization = SAH for kd-trees
• Unified data structure for global illumination– Associate data with vertices, edges, faces, tetrahedra
• Level-of-detail– Meshes and triangulations use similar data structures
Disadvantages
• Constructing constrained tetrahedralizations– TetGen, CGAL
• Geometry preconditioning– Eliminating all self-intersections from triangle soup
• Absolute performance– Limited testing, limited optimization
Conclusion & Future Work
• ConclusionConstrained tetrahedralizations– have a number of unique and interesting properties and– offer several new perspectives on acceleration structures
• Future work– Geometry preconditioning– More elaborate testing– Further explore advantages
Thanks!
• Questions?
AcknowledgmentsAres Lagae is a Postdoctoral Fellow of the Research Foundation Flanders (FWO)Peter Vangorp and Jurgen LaurijssenJan Welkenhuyzen from MaterializeTim Volodine
Numerical Robustness
• Construction– Adaptive precision floating point arithmetic– Robust geometric predicates
Common practice in computational geometry
• Traversal– Ignore robustness errors and degenerate cases
Common practice in computer graphic– Detection and correction is possible
• ray parameters of plane intersections should be increasing• temporarily move points
top related