accelerating ray tracing using constrained tetrahedralizations
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Accelerating Ray Tracing using Constrained Tetrahedralizations](https://reader033.vdocuments.net/reader033/viewer/2022051218/568157ef550346895dc567aa/html5/thumbnails/1.jpg)
Accelerating Ray Tracing usingConstrained Tetrahedralizations
Ares Lagae & Philip Dutré
19th Eurographics Symposium on Rendering
EGSR 2008 Wednesday, June 25th
![Page 2: Accelerating Ray Tracing using Constrained Tetrahedralizations](https://reader033.vdocuments.net/reader033/viewer/2022051218/568157ef550346895dc567aa/html5/thumbnails/2.jpg)
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
![Page 3: Accelerating Ray Tracing using Constrained Tetrahedralizations](https://reader033.vdocuments.net/reader033/viewer/2022051218/568157ef550346895dc567aa/html5/thumbnails/3.jpg)
Introduction
Constrained tetrahedralizations
Construct constrained tetrahedralization
as a preprocess
Use constrained tetrahedralization
during ray traversal
![Page 4: Accelerating Ray Tracing using Constrained Tetrahedralizations](https://reader033.vdocuments.net/reader033/viewer/2022051218/568157ef550346895dc567aa/html5/thumbnails/4.jpg)
Constrained Triangulation
• 2D triangulation + constraints (edges)
constraintsconstrained Delaunay
triangulation
conforming Delaunay
triangulation
quality Delaunay
triangulation
![Page 5: Accelerating Ray Tracing using Constrained Tetrahedralizations](https://reader033.vdocuments.net/reader033/viewer/2022051218/568157ef550346895dc567aa/html5/thumbnails/5.jpg)
Constrained Tetrahedralization
• 3D tetrahedralization + constraints (faces)
constrained Delaunay tetrahedralization
quality Delaunay tetrahedralization
![Page 6: Accelerating Ray Tracing using Constrained Tetrahedralizations](https://reader033.vdocuments.net/reader033/viewer/2022051218/568157ef550346895dc567aa/html5/thumbnails/6.jpg)
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
![Page 7: Accelerating Ray Tracing using Constrained Tetrahedralizations](https://reader033.vdocuments.net/reader033/viewer/2022051218/568157ef550346895dc567aa/html5/thumbnails/7.jpg)
Ray Traversal
• Ray traversal– Locate ray origin– Traverse tetrahedralization one tetrahedron at a time– Stop at constrained face
locate ray origintraverse
triangulation
![Page 8: Accelerating Ray Tracing using Constrained Tetrahedralizations](https://reader033.vdocuments.net/reader033/viewer/2022051218/568157ef550346895dc567aa/html5/thumbnails/8.jpg)
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
![Page 9: Accelerating Ray Tracing using Constrained Tetrahedralizations](https://reader033.vdocuments.net/reader033/viewer/2022051218/568157ef550346895dc567aa/html5/thumbnails/9.jpg)
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
![Page 10: Accelerating Ray Tracing using Constrained Tetrahedralizations](https://reader033.vdocuments.net/reader033/viewer/2022051218/568157ef550346895dc567aa/html5/thumbnails/10.jpg)
Ray Traversal
ray hitting scene geometry
ray just missing scene geometry
• Example
![Page 11: Accelerating Ray Tracing using Constrained Tetrahedralizations](https://reader033.vdocuments.net/reader033/viewer/2022051218/568157ef550346895dc567aa/html5/thumbnails/11.jpg)
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
![Page 12: Accelerating Ray Tracing using Constrained Tetrahedralizations](https://reader033.vdocuments.net/reader033/viewer/2022051218/568157ef550346895dc567aa/html5/thumbnails/12.jpg)
Ray Tracing Cost
• Teapot-in-a-stadium problem
scenequality Delaunay tetrahedralization
constrained Delaunay tetrahedralization
kd-tree
![Page 13: Accelerating Ray Tracing using Constrained Tetrahedralizations](https://reader033.vdocuments.net/reader033/viewer/2022051218/568157ef550346895dc567aa/html5/thumbnails/13.jpg)
Advantages
• Deforming and dynamic geometry– Deforming theoretical guarantee– Dynamic efficient update
![Page 14: Accelerating Ray Tracing using Constrained Tetrahedralizations](https://reader033.vdocuments.net/reader033/viewer/2022051218/568157ef550346895dc567aa/html5/thumbnails/14.jpg)
(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
![Page 15: Accelerating Ray Tracing using Constrained Tetrahedralizations](https://reader033.vdocuments.net/reader033/viewer/2022051218/568157ef550346895dc567aa/html5/thumbnails/15.jpg)
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
![Page 16: Accelerating Ray Tracing using Constrained Tetrahedralizations](https://reader033.vdocuments.net/reader033/viewer/2022051218/568157ef550346895dc567aa/html5/thumbnails/16.jpg)
Disadvantages
• Constructing constrained tetrahedralizations– TetGen, CGAL
• Geometry preconditioning– Eliminating all self-intersections from triangle soup
• Absolute performance– Limited testing, limited optimization
![Page 17: Accelerating Ray Tracing using Constrained Tetrahedralizations](https://reader033.vdocuments.net/reader033/viewer/2022051218/568157ef550346895dc567aa/html5/thumbnails/17.jpg)
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
![Page 18: Accelerating Ray Tracing using Constrained Tetrahedralizations](https://reader033.vdocuments.net/reader033/viewer/2022051218/568157ef550346895dc567aa/html5/thumbnails/18.jpg)
Thanks!
• Questions?
AcknowledgmentsAres Lagae is a Postdoctoral Fellow of the Research Foundation Flanders (FWO)Peter Vangorp and Jurgen LaurijssenJan Welkenhuyzen from MaterializeTim Volodine
![Page 19: Accelerating Ray Tracing using Constrained Tetrahedralizations](https://reader033.vdocuments.net/reader033/viewer/2022051218/568157ef550346895dc567aa/html5/thumbnails/19.jpg)
![Page 20: Accelerating Ray Tracing using Constrained Tetrahedralizations](https://reader033.vdocuments.net/reader033/viewer/2022051218/568157ef550346895dc567aa/html5/thumbnails/20.jpg)
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