Pre-filtering nodes for bounding volume hierarchy
A technique for performing ray tracing operations is provided. The technique includes for a ray being tested for intersection with geometry associated with a bounding volume hierarchy, traversing to a pre-filtering node that includes information for filtering out triangles of a leaf node of the bounding volume hierarchy; evaluating a quantized ray that corresponds to the ray against quantized triangles of the pre-filtering node to filter out one or more triangles of the leaf node from consideration; and testing the triangles of the leaf node that are not filtered out and not testing the triangles of the leaf node that are filtered out.
1 . A method for performing ray tracing operations, the method comprising:
for a ray being tested for intersection with geometry associated with a bounding volume hierarchy (“BVH”), traversing to a pre-filtering node that includes quantized triangles for filtering out triangles of a leaf node of the bounding volume hierarchy, wherein the pre-filtering node comprises a node of the BVH that points to the leaf node;
evaluating a quantized ray that corresponds to the ray against the quantized triangles of the pre-filtering node to filter out one or more triangles of the leaf node from consideration;
testing the triangles of the leaf node that are not filtered out and not testing the triangles of the leaf node that are filtered out; and
rendering an image based on the testing.
2 . The method of claim 1 , wherein evaluating the quantized ray against the quantized triangles includes quantizing the ray to generate the quantized ray.
3 . The method of claim 2 , wherein quantizing the ray includes determining an origin point that is within a bounding volume that bounds that quantized triangles of the pre-filtering node.
4 . The method of claim 3 , wherein determining the origin point is based on a point of entry and a point of exit of the quantized ray into and out of the bounding volume.
5 . The method of claim 2 wherein quantizing the ray includes normalizing the ray.
6 . The method of claim 5 , wherein normalizing the ray includes modify dimensions of the ray based on the dimensions of a bounding volume associated with the pre-filtering node.
7 . The method of claim 6 , wherein traversing to the pre-filtering node occurs in response to determining that the ray intersects the bounding volume.
8 . The method of claim 1 , wherein evaluating the quantized ray against the quantized triangles includes testing the quantized ray for intersection with the quantized triangles.
9 . The method of claim 1 , wherein the quantized triangles have vertices expressed in an integer number space.
10 . A system for performing ray tracing operations, the system comprising:
a memory configured to store at least a portion of a bounding volume hierarchy; and
a processor configured to:
for a ray being tested for intersection with geometry associated with a bounding volume hierarchy (“BVH”), traverse to a pre-filtering node that includes quantized triangles for filtering out triangles of a leaf node of the bounding volume hierarchy, wherein the pre-filtering node comprises a node of the BVH that points to the leaf node;
evaluate a quantized ray that corresponds to the ray against the quantized triangles of the pre-filtering node to filter out one or more triangles of the leaf node from consideration;
test the triangles of the leaf node that are not filtered out and not testing the triangles of the leaf node that are filtered out; and
render an image based on the testing.
11 . The system of claim 10 , wherein evaluating the quantized ray against the quantized triangles includes quantizing the ray to generate the quantized ray.
12 . The system of claim 11 , wherein quantizing the ray includes determining an origin point that is within a bounding volume that bounds that quantized triangles of the pre-filtering node.
13 . The system of claim 12 , wherein determining the origin point is based on a point of entry and a point of exit of the quantized ray into and out of the bounding volume.
14 . The system of claim 11 wherein quantizing the ray includes normalizing the ray.
15 . The system of claim 14 , wherein normalizing the ray includes modify dimensions of the ray based on the dimensions of a bounding volume associated with the pre-filtering node.
16 . The system of claim 15 , wherein traversing to the pre-filtering node occurs in response to determining that the ray intersects the bounding volume.
17 . The system of claim 10 , wherein evaluating the quantized ray against the quantized triangles includes testing the quantized ray for intersection with the quantized triangles.
18 . The system of claim 10 , wherein the quantized triangles have vertices expressed in an integer number space.
19 . A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to perform operations comprising:
for a ray being tested for intersection with geometry associated with a bounding volume hierarchy (“BVH”), traversing to a pre-filtering node that includes quantized triangles for filtering out triangles of a leaf node of the bounding volume hierarchy, wherein the pre-filtering node comprises a node of the BVH that points to the leaf node;
evaluating a quantized ray that corresponds to the ray against the quantized triangles of the pre-filtering node to filter out one or more triangles of the leaf node from consideration;
testing the triangles of the leaf node that are not filtered out and not testing the triangles of the leaf node that are filtered out; and
rendering an image based on the testing.
20 . The non-transitory computer-readable medium of claim 19 , wherein evaluating the quantized ray against the quantized triangles includes quantizing the ray to generate the quantized ray.