US 12,229,877 B2
Geometry culling using bounding volume hierarchy (BVH) for ray tracing
Alexei Vladimirovich Bourd, San Diego, CA (US)
Assigned to QUALCOMM Incorporated, San Diego, CA (US)
Filed by QUALCOMM Incorporated, San Diego, CA (US)
Filed on Jan. 20, 2023, as Appl. No. 18/157,761.
Prior Publication US 2024/0249466 A1, Jul. 25, 2024
Int. Cl. G06T 15/30 (2011.01); G06T 17/00 (2006.01); G06T 17/10 (2006.01)
CPC G06T 15/30 (2013.01) [G06T 17/005 (2013.01); G06T 17/10 (2013.01); G06T 2210/12 (2013.01); G06T 2210/21 (2013.01)] 29 Claims
OG exemplary drawing
 
1. An apparatus for graphics processing, comprising:
a memory; and
at least one processor coupled to the memory and, based at least in part on information stored in the memory, the at least one processor is configured to:
obtain an indication of a bounding volume hierarchy (BVH) structure including a plurality of nodes, wherein the BVH structure is associated with geometry data for a plurality of primitives in a scene, wherein each of the plurality of nodes is associated with one or more primitives of the plurality of primitives, wherein the BVH structure includes at least one first-level BVH including a plurality of first-level nodes and a plurality of second-level BVHs including a plurality of second-level nodes, wherein the at least one first-level BVH includes a set of first-level bounding boxes associated with the plurality of first-level nodes, wherein each of the plurality of second-level BVHs includes a set of second-level bounding boxes associated with the plurality of second-level nodes, and wherein the BVH structure is associated with a view frustum for a viewpoint of the scene;
calculate whether the view frustum intersects with each of the set of first-level bounding boxes in the at least one first-level BVH, wherein each of the set of first-level bounding boxes is associated with a set of first-level child nodes in the plurality of first-level nodes;
calculate, for each of the set of first-level bounding boxes that the view frustum intersects, whether the view frustum intersects with each of the set of first-level child nodes that is associated with each of the set of first-level bounding boxes, wherein each of the set of first-level child nodes is associated with at least one second-level bounding box in the set of second-level bounding boxes; and
output an indication of all of the set of first-level child nodes that the view frustum intersects for each of the set of first-level bounding boxes that the view frustum intersects.