IP Library Granted Patent US 12,437,465
Granted Patent B2
US 12,437,465 · App. 18/081,387 · Granted Oct 7, 2025

Bounding volume hierarchy leaf node compression

Inventors: David William John Pankratz (Markham, CA); David Ronald Oldcorn (Milton Keynes, GB); Daniel James Skinner (Milton Keynes, GB); Michael John Livesley (Milton Keynes, GB); David Kirk McAllister (Santa Clara, CA)
Assignees: Advanced Micro Devices, Inc.; ATI Technologies ULC
G06T15/06G06T2210/12
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,437,465
App. No.
18/081,387
Granted
Oct 7, 2025
Kind
B2
Abstract

A technique for performing ray tracing operations is provided. The technique includes identifying triangles to include in a compressed triangle block; storing data common to the identified triangles as common data of the compressed triangle block; and storing data unique to the identified triangles as unique data of the compressed triangle block.

Claims (35)

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

identifying triangles to include in a compressed triangle block;

storing data common to the identified triangles as common data of the compressed triangle block, wherein the common data includes common prefixes that form an initial portion of coordinate values of vertices of the identified triangles and an indication, for each coordinate value, of whether to increment the common prefix during decompression; and

storing data unique to the identified triangles as unique data of the compressed triangle block.

2. The method of claim 1 , wherein identifying the triangles includes identifying triangles that, when compressed, occupy less space than a maximum amount of space for a compressed triangle block.

3. The method of claim 1 , wherein a box node of a bounding volume hierarchy references triangles in multiple compressed triangle blocks.

4. The method of claim 1 , wherein the common data includes a plurality of prefixes and a selection of one of the plurality of prefixes for each of the identified triangles.

5. The method of claim 1 , wherein the data unique to the identified triangles includes a value indicating a number of trailing zeroes, a primitive identifier offset, and a geometry identifier offset.

6. The method of claim 1 , wherein the common data includes a base primitive identifier and a base geometry identifier and the unique data includes a primitive offset and a geometry offset.

7. The method of claim 6 , further comprising:

decompressing the compressed triangle block to generate a decompressed triangle; and

testing a ray for intersection against the decompressed triangle.

8. The method of claim 1 , wherein the compressed triangle block includes data for two triangles that share at least one vertex, and each triangle of the two triangles includes a set of indices that reference vertex data.

9. The method of claim 1 , wherein the triangles in the compressed triangle block are consecutive triangles in a list of sorted triangles for a scene.

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

a memory configured to store compressed data; and

a processor configured to perform operations for compression of a bounding volume hierarchy, the operations including:

identifying triangles to include in a compressed triangle block for storage in the memory;

storing data common to the identified triangles as common data of the compressed triangle block, wherein the common data includes common prefixes that form an initial portion of coordinate values of vertices of the identified triangles and an indication, for each coordinate value, of whether to increment the common prefix during decompression; and

storing data unique to the identified triangles as unique data of the compressed triangle block.

11. The system of claim 10 , wherein identifying the triangles includes identifying triangles that, when compressed, occupy less space than a maximum amount of space for a compressed triangle block.

12. The system of claim 10 , wherein a box node of a bounding volume hierarchy references triangles in multiple compressed triangle blocks.

13. The system of claim 10 , wherein the common data includes a plurality of prefixes and a selection of one of the plurality of prefixes for each of the identified triangles.

14. The system of claim 10 , wherein the data unique to the identified triangles includes a value indicating a number of trailing zeroes, a primitive identifier offset, and a geometry identifier offset.

15. The system of claim 10 , wherein the common data includes a base primitive identifier and a base geometry identifier and the unique data includes a primitive offset and a geometry offset.

16. The system of claim 15 , wherein the operations further include

decompressing the compressed triangle block to generate a decompressed triangle; and

testing a ray for intersection against the decompressed triangle.

17. The system of claim 10 , wherein the compressed triangle block includes data for two triangles that share at least one vertex, and each triangle of the two triangles includes a set of indices that reference vertex data.

18. The system of claim 10 , wherein the triangles in the compressed triangle block are consecutive triangles in a list of sorted triangles for a scene.

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

identifying triangles to include in a compressed triangle block for storage in a memory;

storing data common to the identified triangles as common data of the compressed triangle block, wherein the common data includes common prefixes that form an initial portion of coordinate values of vertices of the identified triangles and an indication, for each coordinate value, of whether to increment the common prefix during decompression; and

storing data unique to the identified triangles as unique data of the compressed triangle block.

20. The non-transitory computer-readable medium of claim 19 , wherein identifying the triangles includes identifying triangles that, when compressed, occupy less space than a maximum amount of space for a compressed triangle block.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2023
From: PANKRATZ, DAVID WILLIAM JOHN
To: ATI TECHNOLOGIES ULC
Reel/Frame 062486/0565 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2023
From: OLDCORN, DAVID RONALD; LIVESLEY, MICHAEL JOHN; SKINNER, DANIEL JAMES; MCALLISTER, DAVID KIRK
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 062486/0600 →
Continuity (1)
Related Publication 20240203032A1 · Jun 20, 2024
References Cited (11)
US 20150062142A1 · Goel · 2015 [cited by examiner]
US 20180253867A1 · Laroche · 2018 [cited by examiner]
US 20180373839A1 · Semenyuk · 2018 [cited by examiner]
US 20190156550A1 · Stanard · 2019 [cited by examiner]
US 20190324991A1 · Lehtinen · 2019 [cited by examiner]
US 20210304484A1 · Saleh et al. · 2021 [cited by applicant]
US 20210390759A1 · Muthler et al. · 2021 [cited by applicant]
US 20220051466A1 · Doyle · 2022 [cited by examiner]
US 20220198741A1 · Viitanen et al. · 2022 [cited by applicant]
WO 2022093583A1 · 2022 [cited by applicant]
Ylitie, H., et. al.,“Efficient Incoherent Ray Traversal on GPUs Through Compressed Wide BVHs”, HPG '17, Los Angeles, California, 2017, 13 pgs. [cited by applicant]