Discrete rotations for oriented bounding boxes based on platonic solids
A technique for performing ray tracing operations is provided. The technique includes arriving at a bounding box of a bounding volume hierarchy (“BVH”) having an orientation defined based on a platonic solid; testing a ray for intersection with the bounding box; and continuing traversal of the BVH based on results of the testing.
1 . A system for performing ray tracing operations, the system comprising:
a memory configured to store data for a bounding volume hierarchy (“BVH”); and
a processor configured to:
arrive at a bounding box of the BVH, the bounding box having an orientation that is not axis aligned and that is defined based on a platonic solid, wherein the orientation is selected based on a vector extending from a center of the platonic solid to a face, a child face, a vertex, an edge midpoint, or a face midpoint of the platonic solid;
test a ray for intersection with the bounding box; and
continue traversal of the BVH based on results of the testing.
2 . The system of claim 1 , wherein each oriented bounding box of the BVH has an orientation that is based on a quantization space.
3 . The system of claim 1 , wherein the orientation includes a plurality of directions, each of which is within a quantization space.
4 . The system of claim 1 , wherein the orientation includes a first direction within a quantization space and two directions that are perpendicular to the first direction.
5 . The system of claim 1 , wherein the processor is further configured to build the BVH by selecting orientations based on a quantization space for each oriented bounding box of the BVH.
6 . The system of claim 1 , wherein the platonic solid includes one of a regular tetrahedron, a cube, a regular octahedron, a regular dodecahedron, or a regular icosahedron.
7 . A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to perform operations comprising:
arriving at a bounding box of a bounding volume hierarchy (“BVH”), the bounding box having an orientation that is not axis aligned and that is defined based on a platonic solid, wherein the orientation is selected based on a vector extending from a center of the platonic solid to a face, a child face, a vertex, an edge midpoint, or a face midpoint of the platonic solid;
testing a ray for intersection with the bounding box; and
continuing traversal of the BVH based on results of the testing.
8 . The non-transitory computer-readable medium of claim 7 , wherein each oriented bounding box of the BVH has an orientation that is based on a quantization space.
9 . The non-transitory computer-readable medium of claim 7 , wherein the orientation includes a plurality of directions, each of which is within a quantization space.
10 . The non-transitory computer-readable medium of claim 7 , wherein the orientation includes a first direction within a quantization space and two directions that are perpendicular to the first direction.
11 . The non-transitory computer-readable medium of claim 7 , wherein the operations further comprise building the BVH by selecting orientations based on a quantization space for each oriented bounding box of the BVH.
12 . The non-transitory computer-readable medium of claim 7 , wherein the platonic solid includes one of a regular tetrahedron, a regular octahedron, a regular dodecahedron, or a regular icosahedron.
13 . A method for performing ray tracing operations, the method comprising:
arriving at a bounding box of a bounding volume hierarchy (“BVH”), the bounding box having an orientation that is not axis aligned and that is defined based on a platonic solid, wherein the orientation is selected based on a vector extending from a center of the platonic solid to a face, a child face, a vertex, an edge midpoint, or a face midpoint of the platonic solid;
testing a ray for intersection with the bounding box; and
continuing traversal of the BVH based on results of the testing.
14 . The method of claim 1 , wherein each oriented bounding box of the BVH has an orientation that is based on a quantization space.
15 . The method of claim 1 , wherein the orientation includes a plurality of directions, each of which is within a quantization space.
16 . The method of claim 1 , wherein the orientation includes a first direction within a quantization space and two directions that are perpendicular to the first direction.
17 . The method of claim 1 , further comprising building the BVH by selecting orientations based on a quantization space for each oriented bounding box of the BVH.
18 . The method of claim 13 , wherein the platonic solid includes one of a regular tetrahedron, a cube, a regular octahedron, a regular dodecahedron, or a regular icosahedron.