IP Library Granted Patent US 11,995,759
Granted Patent B2
US 11,995,759 · App. 17/468,125 · Granted May 28, 2024

Adaptive ray tracing suitable for shadow rendering

Inventor: Jonathan Paul Story (Grafrath, DE)
Assignee: NVIDIA Corporation
G06T15/06G06T15/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,995,759
App. No.
17/468,125
Granted
May 28, 2024
Kind
B2
Abstract

In examples, the number of rays used to sample lighting conditions of a light source in a virtual environment with respect to particular locations in the virtual environment may be adapted to scene conditions. An additional ray(s) may be used for locations that tend to be associated with visual artifacts in rendered images. A determination may be made on whether to cast an additional ray(s) to a light source for a location and/or a quantity of rays to cast. To make the determination variables such as visibilities and/or hit distances of ray-traced samples of the light source may be analyzed for related locations in the virtual environment, such as those in a region around the location (e.g., within an N-by-N kernel centered at the location). Factors may include variability in visibilities and/or hit distances, differences between visibilities and/or hit distances relative to the location, and magnitudes of hit distances.

Claims (46)

1. A computer-implemented method comprising:

analyzing one or more magnitudes of one or more hit distances of one or more ray hits corresponding to a group of ray-traced samples in a scene based at least on spatial proximities of one or more locations in the scene to positions in the scene corresponding to the group of ray-traced samples;

based at least on the analyzing and the one or more magnitudes of the one or more hit distances, casting one or more rays from the one or more locations;

determining based at least on the one or more rays, one or more ray-traced samples;

computing one or more values of one or more aspects of the scene using the one or more ray-traced samples; and

rendering at least a portion of the scene using the one or more values.

2. The method of claim 1 , further comprising:

determining to cast one or more first rays of the one or more rays from the one or more locations based at least on analyzing visibilities corresponding to the group of ray-traced samples; and

determining to cast, in addition to the one or more first rays, one or more second rays of the one or more rays from the one or more locations based at least on the analyzing of the one or more magnitudes of the one or more hit distances.

3. The method of claim 1 , wherein the group of ray-traced samples correspond to at least one ray cast from the one or more locations, and the casting is based at least on determining a quantity of the one or more rays to cast from the one or more locations in addition to the at least one ray based at least on the analyzing and the one or more magnitudes.

4. The method of claim 1 , wherein the casting is based at least on determining to cast the one or more rays based at least on the analyzing and the one or more magnitudes.

5. The method of claim 1 , wherein the casting of the one or more rays is based at least on determining values of a plurality of the one or more hit distances have at least a threshold amount of variability.

6. The method of claim 1 , wherein the analyzing includes determining a delta between a first hit distance of the one or more hit distances and a second hit distance of the one or more hit distances is greater than a threshold value and the casting is based at least on the delta being greater than the threshold value.

7. The method of claim 1 , wherein the casting of the one or more rays is based at least on determining at least one hit distance of the one or more hit distances is less than a threshold value.

8. The method of claim 1 , wherein the ray-traced samples are determined using at least a first ray tracing pass, and the one or more ray-traced samples are determined using at least a second ray tracing pass.

9. The method of claim 1 , wherein the one or more aspects correspond to lighting conditions of the scene and the one or more rays are cast from the one or more locations to one or more light sources to sample the lighting conditions.

10. The method of claim 1 , wherein each ray-traced sample of the group of ray-traced samples corresponds to a respective pixel of a virtual screen and the rendering is of at least a portion of the virtual screen.

11. The method of claim 1 , wherein a render of the scene generated using the rendering includes a graphical depiction of one or more shadows, and wherein the casting of the one or more rays from the one or more locations is based at least on the group of ray-traced samples indicating the one or more locations are within one or more penumbras corresponding to the one or more shadows graphically depicted in the render.

12. A processor comprising:

one or more circuits to analyze one or more magnitudes of one or more hit distances of one or more ray hits corresponding to a group of ray-traced samples corresponding to a group of pixels of a scene based at least on proximities of the pixels in the group to one or more pixels in the scene,

based at least on the analyzing and the one or more magnitudes of the one or more hit distances, cast one or more rays from one or more locations in the scene, the one or more locations associated with the one or more pixels,

determine based at least on the one or more rays, one or more ray-traced samples,

compute one or more values of one or more aspects of the scene using the one or more ray-traced samples, and

render at least a portion of the scene using the one or more values.

13. The processor of claim 12 , wherein the one or more circuits are to determine a region around the one or more pixels, wherein the group of pixels corresponds to the region.

14. The processor of claim 12 , wherein the one or more pixels are included in the group of pixels and at least one sample of the ray-traced samples corresponds to the one or more pixels.

15. The processor of claim 12 , wherein the casting is based at least on determining that one or more values of at least a first ray-traced sample of the ray-traced samples is different than one or more values of at least a second of the ray-traced samples.

16. The processor of claim 12 , wherein the casting is based at least on determining one or more values of the ray-traced samples are within a threshold of one or more values associated with the one or more pixels.

17. The processor of claim 12 , wherein the one or more circuits are to:

determine to include at least a first ray in the one or more rays based at least on a first analysis of a first set of the ray-traced samples corresponding to a first attribute of the scene; and

determine to include at least a second ray in the one or more rays based at least on a second analysis of a second set of the ray-traced samples corresponding to a second attribute of the scene.

18. The processor of claim 12 , wherein a render of the scene generated using the rendering includes a graphical depiction of one or more shadows, and wherein the casting of the one or more rays from the one or more locations is based at least on the group of ray-traced samples indicating the one or more locations are within one or more penumbras corresponding to the one or more shadows graphically depicted in the render.

19. A system comprising:

one or more processing units to execute operations comprising:

determining a region in a scene based at least on one or more locations in the scene;

analyzing one or more magnitudes of one or more hit distances of one or more ray hits corresponding to a group of ray-traced samples that corresponds to the region;

based at least on the analyzing and the one or more magnitudes of the one or more hit distances, casting one or more rays from the one or more locations;

determining based at least on the one or more rays, one or more ray-traced samples;

computing one or more values of one or more aspects of the scene using the one or more ray-traced samples; and

rendering at least a portion of the scene using the one or more values.

20. The system of claim 19 , wherein the casting is based at least on determining, using the analyzing, whether one or more of visibility criterion and hit distance criterion of the region is satisfied.

21. The system of claim 19 , wherein the one or more rays include one or more shadow rays.

22. The system of claim 19 , further comprising:

determining to cast at least one ray from the one or more locations; and

based at least on the determining to cast the at least one ray and the analyzing, determining a quantity of rays to cast from the one or more locations, wherein the one or more rays are included in the quantity of rays.

23. The system of claim 19 , wherein a render of the scene generated using the rendering includes a graphical depiction of one or more shadows, and wherein the casting of the one or more rays from the one or more locations is based at least on the group of ray-traced samples indicating the one or more locations are within one or more penumbras corresponding to the one or more shadows graphically depicted in the render.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 7, 2021
From: STORY, JONATHAN PAUL
To: NVIDIA CORPORATION
Reel/Frame 057401/0610 →
Continuity (3)
Continuation 16822899 · Mar 18, 2020
Provisional Application 62820214 · Mar 18, 2019
Related Publication 20220005257A1 · Jan 6, 2022
Cited By (1)
US 12,682,550