Accelerating Ray Tracing using Constrained Tetrahedralizations Ares Lagae & Philip Dutré 19 th Eurographics Symposium on Rendering EGSR 2008Wednesday, 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) constraints constrained 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 origin traverse 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 scene quality Delaunay tetrahedralization constrained Delaunay tetrahedralization kd-tree low high
Ray Tracing Cost Teapot-in-a-stadium problem scene quality Delaunay tetrahedralization constrained Delaunay tetrahedralization kd-tree
Advantages Deforming and dynamic geometry –Deforming theoretical guarantee –Dynamic efficient update
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 Conclusion Constrained 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? Acknowledgments Ares Lagae is a Postdoctoral Fellow of the Research Foundation Flanders (FWO) Peter Vangorp and Jurgen Laurijssen Jan Welkenhuyzen from Materialize Tim 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