IP Library › Granted Patent US 11,861,785
Granted Patent B2
US 11,861,785 · App. 17/665,327 · Granted Jan 2, 2024

Generation of tight world space bounding regions

Inventors: David Kirk McAllister (Holladay, UT); Francois Mathias Robert Demoullin (Vancouver, CA); Alexei Vladimirovich Bourd (San Diego, CA)
Assignee: QUALCOMM Incorporated
G06T15/06G06T17/005G06T17/10
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,861,785
App. No.
17/665,327
Granted
Jan 2, 2024
Kind
B2
Abstract

Systems and techniques are provided for determining bounding regions for a hierarchical structure for ray tracing. For instance, a process can include obtaining an acceleration data structure, the acceleration data structure including one or more primitives of a scene object. A graph cut can be applied to the acceleration data structure. A set of nodes of the acceleration data structure can be determined based on the graph cut, wherein the determined set of nodes is located adjacent to the graph cut. A world-space bounding box can be generated for the scene object, using the set of nodes determined based on the graph cut.

Claims (62)

1. A method of ray tracing, the method comprising:

obtaining an acceleration data structure, the acceleration data structure including one or more primitives of a scene object;

determining one or more child nodes of a root node of the acceleration data structure;

determining a Surface Area Heuristic (SAH) for each child node of the one or more child nodes;

determining a computational budget corresponding to a maximum number of nodes for a graph cut;

determining the graph cut based on the determined SAH for each child node and the computational budget;

applying the graph cut to the acceleration data structure;

determining a set of nodes of the acceleration data structure based on the graph cut, wherein the set of nodes is located adjacent to the graph cut; and

generating a world-space bounding box for the scene object, wherein the world-space bounding box is generated for the set of nodes determined based on the graph cut.

2. The method of claim 1 , further comprising:

obtaining a respective object-space bounding box for each node of the set of nodes; and

transforming each respective object-space bounding box of each node into a plurality of world-space vertices.

3. The method of claim 2 , wherein the world-space bounding box for the scene object is generated based on the plurality of world-space vertices.

4. The method of claim 1 , wherein the graph cut is applied directly above or directly below a plurality of leaf nodes of the acceleration data structure.

5. The method of claim 1 , wherein the set of nodes determined based on the graph cut includes a plurality of leaf nodes of the acceleration data structure, and wherein the plurality of leaf nodes includes each vertex of the scene object.

6. The method of claim 5 , wherein the world-space bounding box is generated based at least in part on transforming each vertex of the scene object from an object-space representation into a world-space representation.

7. The method of claim 1 , wherein the one or more primitives of the scene object are included in one or more leaf nodes of the acceleration data structure.

8. The method of claim 1 , wherein the world-space bounding box generated for the scene object is a world-space axis-aligned bounding box (AABB).

9. The method of claim 1 , wherein the acceleration data structure includes a bounding volume hierarchy (BVH).

10. The method of claim 1 , wherein the acceleration data structure includes a bottom-level acceleration structure (BLAS).

11. The method of claim 10 , wherein the BLAS:

is associated with a top-level acceleration structure (TLAS) leaf node; and

includes one or more intermediate BLAS nodes, each intermediate BLAS node including an axis-aligned bounding box (AABB) encompassing a subset of the one or more primitives of the scene object.

12. The method of claim 1 , wherein the set of nodes located adjacent to the graph cut is located above the graph cut or below the graph cut.

13. An apparatus for ray tracing, comprising:

a memory; and

one or more processors coupled to the memory, the one or more processors configured to:

obtain an acceleration data structure, the acceleration data structure including one or more primitives of a scene object;

determine one or more child nodes of a root node of the acceleration data structure;

determine a Surface Area Heuristic (SAH) for each child node of the one or more child nodes;

determine a computational budget that corresponds to a maximum number of nodes for a graph cut;

determine the graph cut based on the determined SAH for each child node and the computational budget;

apply the graph cut to the acceleration data structure;

determine a set of nodes of the acceleration data structure based on the graph cut, wherein the set of nodes is located adjacent to the graph cut; and

generate a world-space bounding box for the scene object, wherein the world-space bounding box is generated for the set of nodes determined based on the graph cut.

14. The apparatus of claim 13 , wherein the one or more processors are configured to:

obtain a respective object-space bounding box for each node of the set of nodes; and

transform each respective object-space bounding box of each node into a plurality of world-space vertices.

15. The apparatus of claim 14 , wherein the world-space bounding box for the scene object is generated based on the plurality of world-space vertices.

16. The apparatus of claim 13 , wherein the graph cut is applied directly above or directly below a plurality of leaf nodes of the acceleration data structure.

17. The apparatus of claim 13 , wherein the set of nodes determined based on the graph cut includes a plurality of leaf nodes of the acceleration data structure, and wherein the plurality of leaf nodes includes each vertex of the scene object.

18. The apparatus of claim 17 , wherein the world-space bounding box is generated based at least in part on transforming each vertex of the scene object from an object-space representation into a world-space representation.

19. The apparatus of claim 13 , wherein the one or more primitives of the scene object are included in one or more leaf nodes of the acceleration data structure.

20. The apparatus of claim 13 , wherein the world-space bounding box generated for the scene object is a world-space axis-aligned bounding box (AABB).

21. The apparatus of claim 13 , wherein the acceleration data structure includes a bounding volume hierarchy (BVH).

22. The apparatus of claim 13 , wherein the acceleration data structure includes a bottom-level acceleration structure (BLAS).

23. The apparatus of claim 22 , wherein the BLAS:

is associated with a top-level acceleration structure (TLAS) leaf node; and

includes one or more intermediate BLAS nodes, each intermediate BLAS node including an axis-aligned bounding box (AABB) encompassing a subset of the one or more primitives of the scene object.

24. The apparatus of claim 13 , wherein the set of nodes located adjacent to the graph cut is located above the graph cut or below the graph cut.

25. A non-transitory computer-readable medium having stored thereon instructions that, when executed by one or more processors, cause the one or more processors to:

obtain an acceleration data structure, the acceleration data structure including one or more primitives of a scene object;

determine one or more child nodes of a root node of the acceleration data structure;

determine a Surface Area Heuristic (SAH) for each child node of the one or more child nodes;

determine a computational budget that corresponds to a maximum number of nodes for a graph cut;

determine the graph cut based on the determined SAH for each child node and the computational budget;

apply the graph cut to the acceleration data structure;

determine a set of nodes of the acceleration data structure based on the graph cut, wherein the set of nodes is located adjacent to the graph cut; and

generate a world-space bounding box for the scene object, wherein the world-space bounding box is generated for the set of nodes determined based on the graph cut.

26. The non-transitory computer-readable medium of claim 25 , further comprising instructions that, when executed by the one or more processors, cause the one or more processors to:

obtain a respective object-space bounding box for each node of the set of nodes; and

transform each respective object-space bounding box of each node into a plurality of world-space vertices.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2022
From: MCALLISTER, DAVID KIRK; DEMOULLIN, FRANCOIS MATHIAS ROBERT; BOURD, ALEXEI VLADIMIROVICH
To: QUALCOMM INCORPORATED
Reel/Frame 059880/0618 →
Continuity (1)
Related Publication 20230252716A1 · Aug 10, 2023
Cited By (1)
US 12,238,610