IP Library › Granted Patent US 11,847,733
Granted Patent B2
US 11,847,733 · App. 17/231,979 · Granted Dec 19, 2023

Performance of ray-traced shadow creation within a scene

Inventors: Jon Story (Grafrath, DE); Holger Heinrich Gruen (Bavaria, DE)
Assignee: NVIDIA CORPORATION
G06T15/06G06T5/002G06T15/005G06T15/405G06T15/60G06T15/04G06T2215/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 11,847,733
App. No.
17/231,979
Granted
Dec 19, 2023
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 (39)

1. A method comprising:

generating a ray from a first pixel within a scene being rendered toward a light source;

performing one or more shadow map lookups for the first pixel to determine:

a visibility value indicating that the first pixel is in a shadow, and

a distance value indicative of a distance of the first pixel from the light source; and

rendering the first pixel with an amount of blurring based on the distance value, wherein the amount of blurring for the first pixel indicated as being in the shadow increases as the distance value increases.

2. The method of claim 1 , wherein the one or more shadow map lookups are performed to estimate an intersection of the ray with an alpha-tested geometry within the scene.

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

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

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

6. The method of claim 2 , wherein the distance value is determined by identifying a depth value for the intersection and determining a difference in distance between a location of the first pixel and the depth value.

7. The method of claim 1 , wherein the one or more shadow map lookups are performed by tracing the 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 visibility value and the distance value are stored in a buffer.

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

10. The method of claim 8 , wherein a min operation is performed between the buffer and an opaque buffer to obtain a single resulting buffer that is sent to a denoiser.

11. The method of claim 1 , wherein the one or more shadow map lookups are one or more alpha-only shadow map lookups.

12. The method of claim 1 , wherein increasing the blurring as the distance value increases operates to increasingly soften the shadow as the distance value increases.

13. A system comprising:

a non-transitory memory storage comprising instructions; and

one or more processors in communication with the non-transitory memory storage, wherein the one or more processors execute the instructions to:

generate a ray from a first pixel within a scene being rendered toward a light source;

perform one or more shadow map lookups for the first pixel to determine:

a visibility value indicating that the first pixel is in a shadow, and

a distance value indicative of a distance of the first pixel from the light source; and

render the first pixel with an amount of blurring based on the distance value, wherein the amount of blurring for the first pixel indicated as being in the shadow increases as the distance value increases.

14. The system of claim 13 , wherein the one or more shadow map lookups are performed to estimate an intersection of the ray with an alpha-tested geometry within the scene.

15. The system of claim 14 , wherein the shadow map only contains a plurality of alpha-tested geometry.

16. The system of claim 14 , wherein a location of the intersection is estimated within the shadow map, and the visibility value is determined based on one or more depth values at or around an intersection location within the shadow map.

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

18. The system of claim 14 , wherein the distance value is determined by identifying a depth value for the intersection and determining a difference in distance between a location of the first pixel and the depth value.

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

20. The system of claim 13 , wherein the visibility value and the distance value are stored in a buffer.

21. The system of claim 13 , wherein the one or more shadow map lookups are one or more alpha-only shadow map lookups.

22. A non-transitory computer-readable media storing computer instructions which when executed by one or more processors of a device cause the one or more processors to cause the device to:

generate a ray from a first pixel within a scene being rendered toward a light source;

perform one or more shadow map lookups for the first pixel to determine:

a visibility value indicating that the first pixel is in a shadow, and

a distance value indicative of a distance of the first pixel from the light source; and

render the first pixel with an amount of blurring based on the distance value, wherein the amount of blurring for the first pixel indicated as being in the shadow increases as the distance value increases.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 15, 2021
From: STORY, JON; GRUEN, HOLGER HEINRICH
To: NVIDIA CORPORATION
Reel/Frame 056596/0207 →
Continuity (2)
Continuation 16522539 · Jul 25, 2019
Related Publication 20210256759A1 · Aug 19, 2021
Cited By (1)
US 12,333,642