IP Library Granted Patent US 11,263,800
Granted Patent B2
US 11,263,800 · App. 16/728,375 · Granted Mar 1, 2022

Apparatus and method for quantized convergent direction-based ray sorting

Inventors: Karol Szerszen (Hillsboro, CA); Prasoonkumar Surti (Folsom, CA); Gabor Liktor (San Francisco, CA); Karthik Vaidyanathan (San Francisco, CA); Sven Woop (Voelklingen, DE)
Assignee: INTEL CORPORATION
G06T15/06G06T1/20G06T15/005G06T15/08G06T17/10
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 11,263,800
App. No.
16/728,375
Granted
Mar 1, 2022
Kind
B2
Abstract

Apparatus and method for grouping rays based on quantized ray directions. For example, one embodiment of an apparatus comprises: An apparatus comprising: a ray generator to generate a plurality of rays; ray direction evaluation circuitry/logic to generate approximate ray direction data for each of the plurality of rays; ray sorting circuitry/logic to sort the rays into a plurality of ray queues based, at least in part, on the approximate ray direction data.

Claims (50)

1. An apparatus comprising:

a ray generator to generate a plurality of rays;

ray direction evaluation circuitry/logic to generate approximate ray direction data for each of the plurality of rays, wherein the approximate ray direction data comprises a quantized direction value associated with each ray of the plurality of rays; and

ray sorting circuitry/logic to sort the rays into a plurality of ray queues based, at least in part, on the approximate ray direction data.

2. The apparatus of claim 1 wherein the quantized direction value for each ray comprises first data indicating a side of a volume intersected by the ray and second data comprising quantized intersection coordinates of an intersection between the ray and the side of the volume.

3. The apparatus of claim 1 wherein the ray sorting circuitry/logic is to group one or more of the plurality of rays into the plurality of ray queues based on a combination of the quantized direction value and a shader record key associated with the ray.

4. The apparatus of claim 3 wherein the ray sorting circuitry/logic is to first attempt to match a ray with a ray queue using both the quantized ray direction value and the shader record key and to attempt to match the ray with a ray queue using only the shader record key only when a match is not found.

5. The apparatus of claim 4 wherein when a match is not found using the both the quantized ray direction value and the shader record key, the ray sorting circuitry/logic is to attempt to allocate a new ray queue containing the ray.

6. The apparatus of claim 5 wherein the ray sorting circuitry/logic is to attempt to match the ray with a ray queue using only the shader record key only after determining that the new ray queue cannot be allocated.

7. The apparatus of claim 1 further comprising:

a ray dispatcher to dispatch the plurality of rays in groups defined by the ray queues in which the rays are stored.

8. The apparatus of claim 1 further comprising:

ray traversal circuitry to traverse one or more of the plurality of rays through a bounding volume hierarchy; and

ray intersection circuitry to determine intersections between one or more of the plurality of rays and one or more objects in a scene.

9. A method comprising:

generating a plurality of rays;

determining approximate ray direction data for each of the plurality of rays, wherein the approximate ray direction data comprises a quantized direction value associated with each ray of the plurality of rays; and

sorting the rays into a plurality of ray queues based, at least in part, on the approximate ray direction data.

10. The method of claim 9 wherein the quantized direction value for each ray comprises first data indicating a side of a volume intersected by the ray and second data comprising quantized intersection coordinates of an intersection between the ray and the side of the volume.

11. The method of claim 9 wherein sorting further comprises:

grouping the plurality of rays into the plurality of ray queues based on a combination of the quantized direction value and a shader record key associated with the ray.

12. The method of claim 11 further comprising:

initially attempting to match a ray with a ray queue using both the quantized ray direction value and the shader record key; and

attempting to match the ray with a ray queue using only the shader record key only when a match is not found.

13. The method of claim 12 further comprising:

attempting to allocate a new ray queue containing the ray when a match is not found using the both the quantized ray direction value and the shader record key.

14. The method of claim 13 wherein attempting to match the ray with a ray queue using only the shader record key is performed only after determining that the new ray queue cannot be allocated.

15. The method of claim 9 further comprising:

dispatching the plurality of rays in groups defined by the ray queues in which the rays are stored.

16. The method of claim 9 further comprising:

traversing one or more of the plurality of rays through a bounding volume hierarchy; and

determining intersections between one or more of the plurality of rays and one or more objects in a scene.

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

generating a plurality of rays;

determining approximate ray direction data for each of the plurality of rays, wherein the approximate ray direction data comprises a quantized direction value associated with each ray of the plurality of rays; and

sorting the rays into a plurality of ray queues based, at least in part, on the approximate ray direction data.

18. The non-transitory machine-readable medium of claim 17 wherein the quantized direction value for each ray comprises first data indicating a side of a volume intersected by the ray and second data comprising quantized intersection coordinates of an intersection between the ray and the side of the volume.

19. The non-transitory machine-readable medium of claim 17 wherein sorting further comprises:

grouping the plurality of rays into the plurality of ray queues based on a combination of the quantized direction value and a shader record key associated with the ray.

20. The non-transitory machine-readable medium of claim 19 further comprising program code to cause the machine to perform the operations of:

initially attempting to match a ray with a ray queue using both the quantized ray direction value and the shader record key; and

attempting to match the ray with a ray queue using only the shader record key only when a match is not found.

21. The non-transitory machine-readable medium of claim 20 further comprising:

attempting to allocate a new ray queue containing the ray when a match is not found using the both the quantized ray direction value and the shader record key.

22. The non-transitory machine-readable medium of claim 21 wherein attempting to match the ray with a ray queue using only the shader record key is performed only after determining that the new ray queue cannot be allocated.

23. The non-transitory machine-readable medium of claim 17 further comprising program code to cause the machine to perform the operations of:

dispatching the plurality of rays in groups defined by the ray queues in which the rays are stored.

24. The non-transitory machine-readable medium of claim 17 further comprising program code to cause the machine to perform the operations of:

traversing one or more of the plurality of rays through a bounding volume hierarchy; and

determining intersections between one or more of the plurality of rays and one or more objects in a scene.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2020
From: SZERSZEN, KAROL; SURTI, PRASOONKUMAR; LIKTOR, GABOR; VAIDYANATHAN, KARTHIK; WOOP, SVEN
To: INTEL CORPORATION
Reel/Frame 053700/0955 →
Continuity (1)
Related Publication 20210201558A1 · Jul 1, 2021