IP Library Granted Patent US 12688642
Granted Patent B2
US 12688642 · App. 18/081,407 · Granted Jul 21, 2026

Intersectable instance nodes for ray tracing acceleration structure nodes

Inventors: David William John Pankratz (Markham, CA); David Kirk McAllister (Santa Clara, CA); David Ronald Oldcorn (Milton Keynes, GB); Michael John Livesley (Milton Keynes, GB); Daniel James Skinner (Milton Keynes, GB)
Assignees: Advanced Micro Devices, Inc.; ATI Technologies ULC
G06T15/06G06T15/08G06T15/80
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 12688642
App. No.
18/081,407
Granted
Jul 21, 2026
Kind
B2
Abstract

A technique for performing ray tracing operations is provided. The technique includes, in a first iteration of a ray traversal technique, traversing to an instance node of a bounding volume hierarchy; in a second iteration of the ray traversal technique that is subsequent to the first iteration, transforming a ray based on an instance transform of the instance node to generate a transformed ray; and in the second iteration, performing a ray-box intersection test for box node data of the instance node based on the transformed ray.

Claims (35)

1 . A method for performing ray tracing operations, the method comprising:

in a first iteration of a ray traversal technique, traversing to an instance node of a bounding volume hierarchy, the instance node including an instance transform and a plurality of bounding volumes, each bounding volume bounding and pointing to different geometry of the same bottom-level acceleration structure, wherein the instance transform indicates how to transform geometry of the bottom-level acceleration structure and the bottom-level acceleration structure is pointed to by multiple instance nodes of the bounding volume hierarchy;

in a second iteration of the ray traversal technique that is subsequent to the first iteration, transforming a ray based on the instance transform to generate a transformed ray; and

in the second iteration, performing a ray-box intersection test for box node data of the instance node based on the transformed ray.

2 . The method of claim 1 , wherein traversing to the instance node is performed in response to encountering a pointer to the instance node during traversal of the bounding volume hierarchy.

3 . The method of claim 1 , wherein transforming the ray includes performing one or more of translation, scaling, or shearing of the ray.

4 . The method of claim 1 , further comprising:

during each iteration of the ray traversal technique, fetching one or more nodes of the bounding volume hierarchy from a working set, testing the ray for intersection against the one or more nodes, and storing intersected nodes of the one or more nodes into the working set.

5 . The method of claim 1 , wherein performing the ray-box intersection test comprises determining whether the transformed ray intersects the box node data.

6 . The method of claim 1 , wherein the instance node points to a root node of an acceleration structure.

7 . The method of claim 1 , wherein the box node data includes a bounding box and a box node pointer.

8 . The method of claim 1 , wherein the instance node includes box node data for a smaller number of box nodes than a box node of the bounding volume hierarchy.

9 . The method of claim 1 , further comprising:

shading pixels based on results of traversal of the bounding volume hierarchy.

10 . A system for performing ray tracing operations, the system comprising:

a memory configured to store a bounding volume hierarchy; and

a processor configured to perform operations comprising:

in a first iteration of a ray traversal technique, traversing to an instance node of the bounding volume hierarchy, the instance node including an instance transform and a plurality of bounding volumes, each bounding volume bounding and pointing to different geometry of the same bottom-level acceleration structure,, wherein the instance transform indicates how to transform geometry of the bottom-level acceleration structure and the bottom-level acceleration structure is pointed to by multiple instance nodes of the bounding volume hierarchy;

in a second iteration of the ray traversal technique that is subsequent to the first iteration, transforming a ray based on the instance transform to generate a transformed ray; and

in the second iteration, performing a ray-box intersection test for box node data of the instance node based on the transformed ray.

11 . The system of claim 10 , wherein traversing to the instance node is performed in response to encountering a pointer to the instance node during traversal of the bounding volume hierarchy.

12 . The system of claim 10 , wherein transforming the ray includes performing one or more of translation, scaling, or shearing of the ray.

13 . The system of claim 10 , wherein the processor is further configured to:

during each iteration of the ray traversal technique, fetch one or more nodes of the bounding volume hierarchy from a working set, testing the ray for intersection against the one or more nodes, and storing intersected nodes of the one or more nodes into the working set.

14 . The system of claim 10 , wherein performing the ray-box intersection test comprises determining whether the transformed ray intersects the box node data.

15 . The system of claim 10 , wherein the instance node points to a root node of an acceleration structure.

16 . The system of claim 10 , wherein the box node data includes a bounding box and a box node pointer.

17 . The system of claim 10 , wherein the instance node includes box node data for a smaller number of box nodes than a box node of the bounding volume hierarchy.

18 . The system of claim 10 , wherein the processor is further configured to:

shade pixels based on results of traversal of the bounding volume hierarchy.

19 . A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to perform operations comprising:

in a first iteration of a ray traversal technique, traversing to an instance node of a bounding volume hierarchy, the instance node including an instance transform and a plurality of bounding volumes, each bounding volume bounding and pointing to different geometry of the same bottom-level acceleration structure, wherein the instance transform indicates how to transform geometry of the bottom-level acceleration structure and the bottom-level acceleration structure is pointed to by multiple instance nodes of the bounding volume hierarchy;

in a second iteration of the ray traversal technique that is subsequent to the first iteration, transforming a ray based on the instance transform to generate a transformed ray; and

in the second iteration, performing a ray-box intersection test for box node data of the instance node based on the transformed ray.

20 . The non-transitory computer-readable medium of claim 19 , wherein traversing to the instance node is performed in response to encountering a pointer to the instance node during traversal of the bounding volume hierarchy.