IP Library Granted Patent US 10,600,231
Granted Patent B2
US 10,600,231 · App. 15/924,112 · Granted Mar 24, 2020

Compressed bounding volume hierarchy

Inventors: Sven Woop (Volklingen, DE); Carsten Benthin (Volklingen, DE); Rasmus Barringer (Helsingborg, SE); Tomas G. Akenine-Moller (Lund, SE)
Assignee: INTEL CORPORATION
G06T15/06G06T15/005G06T15/08G06T2210/08G06T2210/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 10,600,231
App. No.
15/924,112
Granted
Mar 24, 2020
Kind
B2
Abstract

Embodiments provide for a graphics processing apparatus including a graphics processing unit having bounding volume logic to operate on a compressed bounding volume hierarchy, wherein each bounding volume node stores a parent bounding volume and multiple child bounding volumes that are encoded relative to the parent bounding volume.

Claims (33)

1. A graphics processing apparatus comprising a graphics processing unit including bounding volume logic to encode multiple child bounding volumes each having values encoded as an offset relative to a reference bounding volume, in a compressed bounding value hierarchy, the offset for each child bounding volume to be encoded and stored with lower precision than the reference bounding volume.

2. The graphics processing apparatus as in claim 1 , wherein the bounding volume logic is configured to encode the reference bounding volume and child bounding volumes using lower and upper bounds in multiple directions.

3. The graphics processing apparatus as in claim 2 , wherein the bounding volume logic is additionally configured to encode the reference bounding volume using floating point values and the child bounding volume using fixed point values.

4. The graphics processing apparatus as in claim 1 , wherein the bounding logic is additionally configured to encode the reference bounding volume as lower bounds and scaled extents of the bounds and the child bounding volumes using lower and upper bounds in multiple directions.

5. The graphics processing apparatus as in claim 4 , wherein the bounding logic is additionally configured to encode the lower bounds of the reference bounding volume and scaled extents using floating point values and the relative child bounding volume using fixed point values.

6. The graphics processing apparatus as in claim 4 , wherein the reference bounding logic is additionally configured to encode lower bounds of the reference bounding volume using floating point values, the scaled extent as a power of 2, and the child bounding volume using fixed point values.

7. The graphics processing apparatus as in claim 1 , wherein each reference bounding plane stores an index of an equal child bounding plane without storing the equal child bounding plane.

8. The graphics processing apparatus as in claim 7 , wherein the bounding volume logic is additionally configured to use the encoded multiple child bounding volumes to encode nodes of a bounding volume hierarchy.

9. The graphics processing apparatus as in claim 8 additionally including ray tracing logic to perform ray traversal through the bounding volume hierarchy, the ray tracing logic to test if a ray intersects the encoded child bounding volumes of a node.

10. The graphics processing apparatus as in claim 9 , wherein the ray tracing logic is additionally configured to calculate bounding plane distances to test for ray bounding volume intersection via logic configured to:

calculate distances to the planes of the lower reference bounding planes; and

add to the distances a product of a reciprocal ray direction, scaled extents of the reference bounds, and the relative child bounding plane location, to calculate the distances to all child bounding planes.

11. A system on a chip integrated circuit including an application processor and a graphics processor, the integrated circuit comprising:

bounding volume logic to encode, in a compressed bounding value hierarchy, multiple child bounding volumes each with values encoded and stored with lower precision as an offset relative to a reference bounding volume encoded and stored with higher precision; and

ray tracing logic to perform ray traversal through a bounding volume hierarchy, the ray tracing logic to test if a ray intersects the encoded child bounding volumes of a node.

12. The system on a chip integrated circuit as in claim 11 , wherein the bounding logic is additionally configured to encode the reference bounding volume and child bounding volumes using lower and upper bounds in multiple directions.

13. The system on a chip integrated circuit as in claim 12 , wherein the bounding volume logic is additionally configured to encode the reference bounding volume using floating point values and the child bounding volume using fixed point values.

14. The system on a chip integrated circuit as in claim 11 , wherein the bounding logic is additionally configured to encode the reference bounding volume as lower bounds and scaled extents of the bounds and the child bounding volumes using lower and upper bounds in multiple directions.

15. The system on a chip integrated circuit as in claim 11 , wherein the ray tracing logic is additionally configured to calculate bounding plane distances to test for ray bounding volume intersection via logic configured to:

calculate distances to the planes of the lower reference bounding planes; and

add to the distances a product of a reciprocal ray direction, scaled extents of the reference bounds, and the relative child bounding plane location, to calculate the distances to all child bounding planes.

16. A graphics processing system comprising:

an application processor coupled to a graphics processor, wherein the application processor and the graphics processor are to perform processing operations including:

calculating a distance for a ray to a first bounding plane of a reference bounding volume of a bounding volume hierarchy;

calculating a distance for the ray to a lower bounding plane of a child bounding volume based in part on the calculated distance to the first bounding plane of the reference bounding volume;

calculating a distance for the ray to an upper bounding plane of the child bounding volume based in part on the calculated distance to the first bounding plane of the reference bounding volume, wherein the calculating the distances to the lower and upper bounding planes of the child bounding volume is based on the child bounding volume having values encoded and stored with lower precision as an offset relative to the reference bounding volume, which is encoded and stored with higher precision in the bounding volume hierarchy; and

determining a ray intersection for the child bounding volume based in part on the distance to the upper and lower bounding plane of the child bounding volume.

17. The graphics processing system as in claim 16 , wherein the processing operations additionally include:

defining the reference bounding volume based in part on a bounding plane of the child bounding volume such that the reference bounding volume includes a shared bounding plane that is shared with the child bounding volume; and

encoding a value indicating that the shared bounding plane is associated with the child bounding volume.

18. The graphics processing system as in claim 17 , wherein the child bounding volume includes at least a first bounding plane and a second bounding plane, the first bounding plane is stored as a fixed point value and the second bounding plane is the shared bounding plane, wherein the shared bounding plane is not stored.

19. The graphics processing system as in claim 18 , wherein the processing operations additionally include performing a ray intersection test to determine the ray intersection for the child bounding volume.

20. The graphics processing system as in claim 19 , wherein during the ray intersection test, at least one of the upper or lower bounding planes of the child bounding volume is a shared bounding plane.

Continuity (2)
Continuation 14975294 · Dec 18, 2015
Related Publication 20190259195A1 · Aug 22, 2019
Cited By (2)
US 12,450,833 US 12,462,464