Scalable parallel construction of bounding volume hierarchies
AssigneeNVIDIA Corporation
InventorIngo Wald
Life of this patent
Estimating the term…
Abstract
One embodiment of the present invention sets forth a technique for generating a bounding volume hierarchy. The technique includes determining a first set of objects associated with a first node. The technique also includes generating a first plurality of child nodes that are associated with the first node. The technique further includes for each object included in the first set of objects, storing within the object an identifier for a corresponding child node included in the first plurality of child nodes based on a first set of partitions associated with the first set of objects.
Claims22
A computer-implemented method for generating a bounding volume hierarchy, the method comprising:
- determining a first set of objects represented by a first node of the bounding volume hierarchy, wherein each object included in the first set of objects stores a first identifier for the first node and comprises a graphics element of a graphics scene, wherein the first node represents a first bounding volume;
- in response to determining that the first node is not a leaf node of the bounding volume hierarchy, generating a first set of partitions that divides the first bounding volume into a plurality of new bounding volumes;
- generating a first plurality of child nodes of the first node for representing the plurality of new bounding volumes;
- for a first object included in the first set of objects, changing the first identifier stored within the first object to a second identifier for a corresponding first child node included in the first plurality of child nodes that represents a first new bounding volume in the plurality of new bounding volumes that includes the first object;
- and
- performing one or more graphics processing operations based on the second identifier stored within the first object included in the first set of objects.
One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors, cause the one or more processors to perform the steps of:
- determining a first set of objects represented by a first node of a bounding volume hierarchy, wherein each object included in the first set of objects stores a first identifier for the first node and comprises a graphics element of a graphics scene, wherein the first node represents a first bounding volume;
- in response to determining that the first node is not a leaf node of the bounding volume hierarchy, generating a first set of partitions that divides the first bounding volume into a plurality of new bounding volumes;
- generating a first plurality of child nodes of the first node for representing the plurality of new bounding volumes;
- for a first object included in the first set of objects, changing the first identifier stored within the first object to a second identifier for a corresponding first child node included in the first plurality of child nodes that represents a first new bounding volume in the plurality of new bounding volumes that includes the first object;
- and
- performing one or more graphics processing operations based on the second identifier stored within the first object included in the first set of objects.
A system, comprising:
- one or more memories that store instructions, and
- one or more processors that are coupled to the one or more memories and, when executing the instructions, are configured to:
- determine a first set of objects represented by a first node of the bounding volume hierarchy, wherein each object included in the first set of objects stores a first identifier for the first node and comprises a graphics element of a graphics scene, wherein the first node represents a first bounding volume;
- in response to determining that the first node is not a leaf node of the bounding volume hierarchy, generate a first set of partitions that divides the first bounding volume into a plurality of new bounding volumes;
- generate a first plurality of child nodes of the first node for representing the plurality of new bounding volumes;
- for a first object included in the first set of objects, change the first identifier stored within the first object to a second identifier for a corresponding first child node included in the first plurality of child nodes that represents a first new bounding volume in the plurality of new bounding volumes that includes the first object;
- and
- perform one or more graphics processing operations based on the second identifier stored within the first object included in the first set of objects.
Dependencies are inferred from the claim text.