Angle-Weighted Normals for BVH Traversal in Light Transport
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing techniques for determining whether a query point is inside, outside, or on a 3D object, such as those using ray casting or angle-weighted pseudo-normals, face challenges with non-watertight mesh objects, high compute costs, and high latency, especially when dealing with disconnected mesh parts.
Innovation Solution
The method involves determining an angle-weighted normal during a single traversal of a bounding volume hierarchy (BVH) associated with the 3D object, using this normal to determine the query point's location relative to the object, and eliminating the need for preprocessing and extra data storage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If ray casting is performed by traversing BVH multiple times in different directions, then the accuracy of determining point location is improved, but the compute cost and latency increase significantly
Solution Approach 1:
The patent precomputes angle-weighted pseudo-normals for all triangles in the mesh during a single BVH traversal, storing them in a data structure that can be quickly queried. This preliminary computation allows the system to determine point location without performing multiple BVH traversals in different directions, thus reducing compute cost and latency while maintaining accuracy
Solution Approach 2:
The patent creates a data structure that stores precomputed angle-weighted pseudo-normals as copied information, allowing rapid retrieval during query processing. This copied data enables the system to avoid repeating expensive BVH traversals while maintaining the same measurement precision for point location determination
2Speed
If angle-weighted pseudo-normals are precomputed and stored, then the speed of point location determination is improved, but the memory requirements and preprocessing time increase
Solution Approach 1:
The patent computes angle-weighted pseudo-normals locally for each triangle based on its specific geometry and orientation, rather than using a uniform approach for the entire mesh. This localized computation allows the system to store only the necessary information for each triangle, reducing overall memory requirements while maintaining fast query performance
Solution Approach 2:
The patent changes the parameter representation from storing full triangle data or performing multiple traversals to storing precomputed angle-weighted pseudo-normals. This parameter transformation enables faster query processing while controlling memory usage by storing only the essential normal information rather than complete geometric data
3Adaptability or versatility
If surface normal computations are performed at edges or vertices, then the ability to handle non-watertight meshes is improved, but the reliability of the normal calculation decreases
Solution Approach 1:
The patent computes angle-weighted pseudo-normals for all triangles in the mesh, including those at edges and vertices where traditional surface normals are undefined. By applying the computation universally rather than selectively, the system maintains reliability through consistent angular weighting that accounts for the local geometry context, even at problematic locations
Solution Approach 2:
The patent introduces angle-weighted pseudo-normals as an intermediary representation that bridges the gap between traditional surface normals and the needs of non-watertight mesh handling. This intermediary computation uses angular weights derived from the triangle geometry to create a reliable normal approximation that works consistently across all mesh elements, including edges and vertices
Data Source
AI summary
In various examples, determining angle-weighted normals for content processing systems and applications is described herein. Systems and methods are disclosed that determine an angle-weighted normal, such as during a traversal of a bounding volume hierarchy (BVH) of a three-dimensional (3D) object, and then use the angle-weighted normal to determine whether a query point is located inside or outside of the 3D object. To determine the angle-weighted normal, triangles that potentially include a closest point to the query point may be identified, such as during the traversal of the BVH to identify the closest point on the 3D object to the query point. The potential triangles may then be analyzed to determine one or more triangles for which the closest point is located. Additionally, one or more weights and/or one or more surface normals associated with the triangle(s) may be used to calculate the angle-weighted normal.


