200 likes | 218 Views
Explore how constrained tetrahedralizations can accelerate ray tracing, offering new perspectives on acceleration structures. Learn about constructing and utilizing constrained tetrahedralizations, their advantages, disadvantages, and future possibilities for improvement.
E N D
Accelerating Ray Tracing usingConstrained Tetrahedralizations 19th Eurographics Symposium on Rendering Ares Lagae & Philip Dutré 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) constraints conforming Delaunay triangulation constrained 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 • Example ray hitting scene geometry ray just missing scene geometry
low high Ray Tracing Cost • Comparison with kd-tree • Ray tracing cost: number of tetrahedra / nodes visited scene constrained Delaunay tetrahedralization quality Delaunay tetrahedralization kd-tree
Ray Tracing Cost • Teapot-in-a-stadium problem scene constrained Delaunay tetrahedralization quality 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