Methods and apparatus for more efficient ray tracing of instanced geometry
AssigneeIntel IP Corporation
InventorsIngo Wald, Sven Woop, Carsten Benthin
Life of this patent
Estimating the term…
Abstract
Methods and apparatus relating to more efficient ray tracing of instanced geometry are described. In an embodiment, overlapping instances are unbraided, by not instantiating the entire objects, but instantiating multiple sub-BVH nodes of the objects, which improves rendering performance by reducing overlap of BVH nodes. Other embodiments are also disclosed and claimed.
Claims21
An apparatus comprising:
- memory to store information corresponding to a two-level Bounding Volume Hierarchy (BVH) structure;
- and
- a processor, coupled to the memory, to build and traverse the two-level BVH structure over instanced geometries to increase performance for ray tracing of scenes that use the instanced geometries,
- wherein each leaf node of a top-level of the two-level BVH structure is to store a transformation and a reference to a node of a geometry BVH, wherein the processor is to add one or more nodes to the two-level BVH structure, wherein the one or more nodes are to directly point to one or more locations of an instanced object to allow for a more efficient traversal of the two-level BVH structure, wherein the processor is to perform an operation to reduce spatial overlap in a list of instanced BVH nodes by repeatedly replacing one or more instanced nodes with an instancing of their child nodes until a termination criteria is fulfilled, wherein the processor is to accelerate rendering by modifying the two-level BVH structure to skip those nodes in the two-level BVH structure that would lead to an overlapping instance to allow for more efficient traversing of the two-level BVH structure, wherein the processor is to perform the operation as a preprocessing pass to generate the list of instanced BVH nodes as input to a BVH building procedure.
A method comprising:
- storing information corresponding to a two-level Bounding Volume Hierarchy (BVH) structure in memory;
- and
- building and traversing, at a processor, the two-level BVH structure over instanced geometries to increase performance for ray tracing of scenes that use the instanced geometries,
- wherein each leaf node of a top-level of the two-level BVH structure stores a transformation and a reference to a node of a geometry BVH, wherein one or more nodes are added to the two-level BVH structure, wherein the one or more nodes are to directly point to one or more locations of an instanced object to allow for a more efficient traversal of the two-level BVH structure, wherein the processor performs an operation to reduce spatial overlap in a list of instanced BVH nodes by repeatedly replacing one or more instanced nodes with an instancing of their child nodes until some termination criteria is fulfilled, wherein the processor accelerates rendering by modifying the two-level BVH structure to skip those nodes in the two-level BVH structure that would lead to an overlapping instance to allow for more efficient traversing of the two-level BVH structure, wherein the processor performs the operation as a preprocessing pass to generate the list of instanced BVH nodes as input to a BVH building procedure.
One or more non-transitory computer-readable medium comprising one or more instructions that when executed on at least one processor configure the at least one processor to perform one or more operations to:
- store information corresponding to a two-level Bounding Volume Hierarchy (BVH) structure in memory;
- and
- building and traversing the two-level BVH structure over instanced geometries to increase performance for ray tracing of scenes that use the instanced geometries,
- wherein each leaf node of a top-level of the two-level BVH structure stores a transformation and a reference to a node of a geometry BVH, wherein the processor is to add one or more nodes to the two-level BVH structure, wherein the one or more nodes are to directly point to one or more locations of an instanced object to allow for a more efficient traversal of the two-level BVH structure, wherein the processor is to perform an operation to reduce spatial overlap in a list of instanced BVH nodes by repeatedly replacing one or more instanced nodes with an instancing of their child nodes until some termination criteria is fulfilled, wherein the processor is to accelerate rendering by modifying the two-level BVH structure to skip those nodes in the two-level BVH structure that would lead to an overlapping instance to allow for more efficient traversing of the two-level BVH structure, wherein the processor is to perform the operation as a preprocessing pass to generate the list of instanced BVH nodes as input to a BVH building procedure.
Dependencies are inferred from the claim text.