IP Library Granted Patent US 12,450,833
Granted Patent B2
US 12,450,833 · App. 18/587,800 · Granted Oct 21, 2025

Apparatus and method for performing box queries in ray traversal hardware

Inventors: Karthik Vaidyanathan (San Francisco, CA); Carsten Benthin (Voelklingen, DE); Sven Woop (Voelklingen, DE)
Assignee: Intel Corporation
G06T17/10G06F7/24G06T1/20G06T15/005G06T15/06G06T15/08G06T17/205
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 12,450,833
App. No.
18/587,800
Granted
Oct 21, 2025
Kind
B2
Abstract

Apparatus and method for box-box testing. For example, one embodiment of a processor comprises: a bounding volume hierarchy (BVH) generator to construct a BVH comprising a plurality of hierarchically arranged BVH nodes; traversal circuitry to traverse query boxes through the BVH, the traversal circuitry to read a BVH node from a top of a BVH node stack and to read a query box from a local storage or memory, the traversal circuitry further comprising: box-box testing circuitry and/or logic to compare maximum and minimum X, Y, and Z coordinates of the BVH node and the query box and to generate an overlap indication if overlap is detected for each of the X, Y, and Z dimensions; distance determination circuitry and/or logic to generate a distance value representing an extent of overlap between the BVH node and the query box; and sorting circuitry and/or logic to sort the BVH node within a set of one or more additional BVH nodes based on the distance value.

Claims (39)

1. An apparatus comprising:

a first circuitry to construct a bounding volume hierarchy (BVH) to include a plurality of hierarchically arranged BVH nodes; and

a second circuitry to traverse both query boxes and rays through the BVH, wherein traversal of a query box through a BVH node is to:

read the BVH node from a top of a BVH node storage and to read the query box;

compare maximum and minimum sets of coordinates of the BVH node and the query box to generate an overlap indication responsive to overlap being detected for each of one or more corresponding dimensions indicated by the sets of coordinates; and

sort the BVH node within a set of one or more additional BVH nodes based on extent of the overlap between the BVH node and the query box, wherein the BVH node and the set of one or more additional BVH nodes are to be stored based on the sorting.

2. The apparatus of claim 1 , wherein the maximum and minimum sets of coordinates for the BVH is generated by dequantizing a quantized set of coordinates associated with the BVH node.

3. The apparatus of claim 1 , wherein the BVH node and the set of one or more additional BVH nodes comprise nodes at a common level of the BVH.

4. The apparatus of claim 1 , wherein the extent of the overlap between the BVH node and the query box is indicated through a distance value generated by the second circuitry.

5. The apparatus of claim 4 , wherein generation of the distance value comprises:

determining a first penetration distance from a first axis-aligned direction and a second penetration distance from a second axis-aligned direction for each of the sets of coordinates, the first penetration distance indicating overlap when the query box penetrates the BVH node from the first direction and the second penetration distance indicating overlap when the query box penetrates the BVH node from the second direction; and

selecting for each of the sets of coordinates a minimum of the first and second penetration distances.

6. The apparatus of claim 4 , wherein one or more additional distance values associated with the set of one or more additional BVH nodes are determined, and a sorted order of the BVH node and the set of one or more additional BVH nodes is generated based on the distance value and the one or more additional distance values.

7. The apparatus of claim 1 , wherein the BVH node and the set of one or more additional BVH nodes are to be stored to the BVH node storage in a sorted order based on the sorting.

8. The apparatus of claim 1 , wherein traversal of a ray through the BVH node is to determine whether the ray hits the BVH node, and wherein responsive to that the ray hits the BVH node, a hit distance value is determined representing a coordinate at which the ray hits the BVH node, the BVH node within the set of one or more additional BVH nodes is sorted based on one or more additional hit distance values associated with the set of one or more additional BVH nodes.

9. A method comprising:

constructing a bounding volume hierarchy (BVH) to include a plurality of hierarchically arranged BVH nodes; and

traversing both query boxes and rays through the BVH, wherein traversal of a query box through a BVH node comprising:

reading the BVH node from a top of a BVH node storage and to read the query box;

comparing maximum and minimum sets of coordinates of the BVH node and the query box to generate an overlap indication responsive to overlap being detected for each of one or more corresponding dimensions indicated by the sets of coordinates; and

sorting the BVH node with a set of one or more additional BVH nodes based on extent of the overlap between the BVH node and the query box, wherein the BVH node and the set of one or more additional BVH nodes are to be stored based on the sorting.

10. The method of claim 9 , wherein the maximum and minimum sets of coordinates for the BVH is generated by dequantizing a quantized set of coordinates associated with the BVH node.

11. The method of claim 9 , wherein the BVH node and the set of one or more additional BVH nodes comprise nodes at a common level of the BVH.

12. The method of claim 9 , wherein the extent of the overlap between the BVH node and the query box is indicated through a distance value generated through traversing the query box through the BVH node.

13. The method of claim 12 , wherein generation of the distance value comprises:

determining a first penetration distance from a first axis-aligned direction and a second penetration distance from a second axis-aligned direction for each of the sets of coordinates, the first penetration distance indicating overlap when the query box penetrates the BVH node from the first direction and the second penetration distance indicating overlap when the query box penetrates the BVH node from the second direction; and

selecting for each of the sets of coordinates a minimum of the first and second penetration distances.

14. The method of claim 12 , wherein one or more additional distance values associated with the set of one or more additional BVH nodes are determined, and a sorted order of the BVH node and the set of one or more additional BVH nodes is generated based on the distance value and the one or more additional distance values.

15. The method of claim 9 , wherein the BVH node and the set of one or more additional BVH nodes are to be stored to the BVH node storage in a sorted order based on the sorting.

16. The method of claim 9 , wherein traversal of a ray through the BVH node is to determine whether the ray hits the BVH node, and wherein responsive to that the ray hits the BVH node, a hit distance value is determined representing a coordinate at which the ray hits the BVH node, the BVH node within the set of one or more additional BVH nodes is sorted based on one or more additional hit distance values associated with the set of one or more additional BVH nodes.

17. A non-transitory machine-readable medium having program code stored thereon which, when executed by a machine, causes the machine to perform:

constructing a bounding volume hierarchy (BVH) to include a plurality of hierarchically arranged BVH nodes; and

traversing both query boxes and rays through the BVH, wherein traversal of a query box through a BVH node comprising:

reading the BVH node from a top of a BVH node storage and to read the query box;

comparing maximum and minimum sets of coordinates of the BVH node and the query box to generate an overlap indication responsive to overlap being detected for each of one or more corresponding dimensions indicated by the sets of coordinates; and

sorting the BVH node with a set of one or more additional BVH nodes based on extent of the overlap between the BVH node and the query box, wherein the BVH node and the set of one or more additional BVH nodes are to be stored based on the sorting.

18. The non-transitory machine-readable medium of claim 17 , wherein the maximum and minimum sets of coordinates for the BVH is generated by dequantizing a quantized set of coordinates associated with the BVH node.

19. The non-transitory machine-readable medium of claim 17 , wherein the BVH node and the set of one or more additional BVH nodes comprise nodes at a common level of the BVH.

20. The non-transitory machine-readable medium of claim 17 , wherein the extent of the overlap between the BVH node and the query box is indicated through a distance value generated through traversing the query box through the BVH node.

Continuity (2)
Continuation 16819120 · Mar 15, 2020
Related Publication 20240282053A1 · Aug 22, 2024
References Cited (38)
US 9430863B1 · Grunschloss et al. · 2016 [cited by applicant]
US 9928640B2 · Woop et al. · 2018 [cited by applicant]
US 10600231B2 · Woop et al. · 2020 [cited by applicant]
US 10824775B2 · Ishikawa et al. · 2020 [cited by applicant]
US 20120075303A1 · Johnsson et al. · 2012 [cited by applicant]
US 20130187947A1 · Barringer et al. · 2013 [cited by applicant]
US 20160378892A1 · Ishikawa et al. · 2016 [cited by applicant]
US 20180082466A1 · Akenine-Moller · 2018 [cited by examiner]
US 20200043218A1 · Vaidyanathan et al. · 2020 [cited by applicant]
US 20200050451A1 · Babich et al. · 2020 [cited by applicant]
US 20200320771A1 · Woop et al. · 2020 [cited by applicant]
US 20220051467A1 · Woop et al. · 2022 [cited by applicant]
EP 3608879A1 · 2020 [cited by applicant]
JP 2007522567A · 2007 [cited by applicant]
JP 2011081788A · 2011 [cited by applicant]
JP 2017188098A · 2017 [cited by applicant]
TW I564839B · 2017 [cited by applicant]
WO 2015093073A1 · 2015 [cited by applicant]
WO 2017105607A1 · 2017 [cited by applicant]
Notice of Allowance, TW App. No. 109141631, Sep. 25, 2024, 3 pages (1 page of English Translation and 2 pages of Original Document). [cited by applicant]
Office Action, MY App. No. PI2020006293, Aug. 31, 2024, 5 pages. [cited by applicant]
European Search Report and Search Opinion, EP App. No. 20209722.6, May 21, 2021, 7 pages. [cited by applicant]
Examination Report, IN App. No. 202044052351, Apr. 8, 2022, 6 pages. [cited by applicant]
Laine, Samuli, “Restart Trail for Stackless BVH Traversal”, High Performance Graphics, The Eurographics Association, 2010, 5 pages. [cited by applicant]
Non-Final Office Action, U.S. Appl. No. 16/819,120, Jun. 16, 2023, 14 pages. [cited by applicant]
Notice of Allowance, U.S. Appl. No. 16/819,120, Jan. 16, 2024, 3 pages. [cited by applicant]
Notice of Allowance, U.S. Appl. No. 16/819,120, Oct. 17, 2023, 8 pages. [cited by applicant]
Notice of Grant, IN App. No. 202044052351, Mar. 8, 2024, 1 page. [cited by applicant]
Office Action, ID App. No. P-00202010075, Dec. 19, 2023, 6 pages (4 pages of English Translation and 2 pages of Original Document). [cited by applicant]
Office Action, VN App. No. 1-2020-07561, Mar. 29, 2024, 03 pages (02 pages of English Translation and 01 page of Original Document). [cited by applicant]
Vaidyanathan et al., “Wide BVH Traversal with a Short Stack”, High-Performance Graphics, Eurographics Proceedings, The Eurographic Association, 2019, 5 pages. [cited by applicant]
Official Letter with Search Report, TW App. No. 109141631, Jun. 13, 2024, 8 pages (1 page of English Translation of Search Report and 7 pages of Original Document). [cited by applicant]
Examination Report No. 1, AU App. No. 2020294199, Aug. 21, 2024, 2 pages. [cited by applicant]
Notice of Allowance, ID App. No. P00202010075, Apr. 5, 2024, 4 pages (2 pages of English Translation and 2 pages of Original Document). [cited by applicant]
Office Action, EP App. No. 20209722.6, Jun. 4, 2024, 7 pages. [cited by applicant]
Office Action, JP App. No. 2020-212139, Nov. 5, 2024, 6 pages (3 pages of English Translation and 3 pages of Original Document). [cited by applicant]
Decision to Grant, JP App. No. 2020-212139, Mar. 4, 2025, 5 pages (2 pages of English Translation and 3 pages of Original Document). [cited by applicant]
Notice of Acceptance, AU App. No. 2020294199, Mar. 25, 2025, 3 pages. [cited by applicant]