IP Library › Granted Patent US 11,004,254
Granted Patent B2
US 11,004,254 · App. 16/522,539 · Granted May 11, 2021

Performance of ray-traced shadow creation within a scene

Inventors: Jon Story (Grafrath, DE); Holger Heinrich Gruen (Peissenberg, DE)
Assignee: NVIDIA CORPORATION
G06T15/06G06T5/002G06T15/005G06T15/405G06T15/60
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,004,254
App. No.
16/522,539
Granted
May 11, 2021
Kind
B2
Abstract

A ray (e.g., a traced path of light, etc.) is generated from an originating pixel within a scene being rendered. Additionally, one or more shadow map lookups are performed for the originating pixel to estimate an intersection of the ray with alpha-tested geometry within the scene. A shadow map stores the distance of geometry as seen from the point of view of the light, and alpha-tested geometry includes objects within the scene being rendered that have a determined texture and opacity. Further, the one or more shadow map lookups are performed to determine a visibility value for the pixel (e.g., that identifies whether the originating pixel is in a shadow) and a distance value for the pixel (e.g., that identifies how far the pixel is from the light). Further still, the visibility value and the distance value for the pixel are passed to a denoiser.

Claims (34)

1. A method comprising:

generating a ray from an originating pixel within a scene being rendered;

performing one or more shadow map lookups for the originating pixel to estimate an intersection of the ray with alpha-tested geometry within the scene and determine a visibility value and a distance value for the originating pixel;

storing the visibility value and the distance value obtained from the shadow map in an alpha-tested buffer, wherein:

the alpha-tested buffer is joined with an opaque buffer, or

a min operation is performed between the alpha-tested buffer and the opaque buffer to obtain a single resulting buffer that is sent to a denoiser; and

passing the visibility value and the distance value for the originating pixel to the denoiser.

2. The method of claim 1 , wherein the alpha-tested geometry includes geometry within the scene for which an alpha-only shadow map is drawn.

3. The method of claim 1 , wherein the shadow map only contains alpha-tested geometry.

4. The method of claim 1 , wherein a location of the intersection is estimated within the shadow map, and the visibility value for the originating pixel is determined based on one or more depth values at or around the intersection location within the shadow map.

5. The method of claim 1 , wherein the distance value includes a hitT value representing a distance between the originating pixel and the intersecting alpha-tested geometry.

6. The method of claim 1 , wherein the distance value is determined by identifying a depth value for the intersection within the shadow map and determining a difference in distance between an originating pixel location and the depth value.

7. The method of claim 1 , wherein the one or more shadow map lookups are performed by tracing a ray through the shadow map to identify an intersection within the shadow map and to obtain texture coordinates.

8. The method of claim 1 , wherein the alpha-tested buffer is joined with the opaque buffer.

9. The method of claim 1 , wherein the min operation is performed between the alpha-tested buffer and the opaque buffer to obtain a single resulting buffer that is sent to the denoiser.

10. A system comprising:

a processor that is configured to:

generate a ray from an originating pixel within a scene being rendered;

perform one or more shadow map lookups for the originating pixel to estimate an intersection of the ray with alpha-tested geometry within the scene and determine a visibility value and a distance value for the originating pixel;

store the visibility value and the distance value obtained from the shadow map in an alpha-tested buffer, wherein:

the alpha-tested buffer is joined with an opaque buffer, or

a min operation is performed between the alpha-tested buffer and an opaque buffer to obtain a single resulting buffer that is sent to a denoiser; and

pass the visibility value and the distance value for the originating pixel to a denoiser.

11. The system of claim 10 , wherein the alpha-tested geometry includes geometry within the scene for which an alpha-only shadow map is drawn.

12. The system of claim 10 , wherein the shadow map only contains alpha-tested geometry.

13. The system of claim 10 , wherein a location of the intersection is estimated within the shadow map, and the visibility value for the originating pixel is determined based on one or more depth values at or around the intersection location within the shadow map.

14. The system of claim 10 , wherein the distance value includes a hitT value representing a distance between the originating pixel and the intersecting alpha-tested geometry.

15. The system of claim 10 , wherein the distance value is determined by identifying a depth value for the intersection within the shadow map and determining a difference in distance between an originating pixel location and the depth value.

16. The system of claim 10 , wherein the one or more shadow map lookups are performed by tracing a ray through the shadow map to identify an intersection within the shadow map and to obtain texture coordinates.

17. A method comprising:

performing ray-tracing of opaque geometry in a scene to create an opaque buffer;

performing ray-tracing of alpha-tested geometry in the scene utilizing shadow map lookups to create an alpha-tested buffer;

joining the opaque buffer and the alpha-tested buffer to create a single resulting buffer; and

passing the single resulting buffer to a denoiser.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2019
From: STORY, JON; GRUEN, HOLGER HEINRICH
To: NVIDIA CORPORATION
Reel/Frame 049910/0669 →
Continuity (1)
Related Publication 20210027520A1 · Jan 28, 2021
Cited By (1)
US 12,333,642