200 likes | 365 Views
Accelerating Ray Tracing using Constrained Tetrahedralizations. 19 th 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
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