IP Library Granted Patent US 12,026,822
Granted Patent B2
US 12,026,822 · App. 17/845,990 · Granted Jul 2, 2024

Shadow denoising in ray-tracing applications

Inventor: Shiqui Liu (Santa Clara, CA)
Assignee: NVIDIA Corporation
G06T15/06G06T5/20G06T5/70G06T15/506G06T15/60G06T2210/21
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 12,026,822
App. No.
17/845,990
Granted
Jul 2, 2024
Kind
B2
Abstract

In various examples, the actual spatial properties of a virtual environment are used to produce, for a pixel, an anisotropic filter kernel for a filter having dimensions and weights that accurately reflect the spatial characteristics of the virtual environment. Geometry of the virtual environment may be computed based at least in part on a projection of a light source onto a surface through an occluder, in order to determine a footprint that reflects a contribution of the light source to lighting conditions of the pixel associated with a point on the surface. The footprint may define a size, orientation, and/or shape of the anisotropic filter kernel and corresponding filter weights. The anisotropic filter kernel may be applied to the pixel to produce a graphically-rendered image of the virtual environment.

Claims (29)

1. A method comprising:

determining a point corresponding to a surface in a virtual environment based at least on an interaction of a ray with the point in the virtual environment;

computing an intersection between an occluder of a light source and a three dimensional (3D) shape projecting from the point towards the light source in the virtual environment;

computing for a filter and based at least on the intersection, a filter geometry that corresponds to a cross-section of a projection of the intersection along a view vector; and

rendering an image corresponding to the virtual environment based at least on applying the filter to lighting condition data corresponding to the point.

2. The method of claim 1 , the intersection is between a portion of a virtual light path that extends from the point and a surface of the occluder that is on an opposite side of the occluder with respect to the light source.

3. The method of claim 1 , wherein the computing of the intersection is based at least on a distance between the point and the occluder.

4. The method of claim 1 , wherein the computing of the intersection is based at least on a normal vector of the surface at the point.

5. The method of claim 1 , wherein the computing of the intersection is based at least on a geometry of the light source, the geometry of the light source defining a shape of the intersection between the 3D shape and the occluder.

6. The method of claim 1 , wherein the filter geometry defines a first width of the filter along a first filter direction, and the applying of the filter uses the first width along the first filter direction and a second width along a second filter direction, the second width having a different magnitude than the first width.

7. The method of claim 1 , the computing of the intersection is based at least on a type of the light source.

8. A system comprising:

one or more processing units to execute instructions stored by one or more memory devices to cause the one or more processing units to perform operations including:

determining geometry of a three dimensional (3D) shape projecting from a point towards a light source in a virtual environment;

determining for a filter and using the geometry of the 3D shape, a filter geometry that corresponds to a cross-section of a projection of an intersection between an occluder and the 3D shape along a view vector; and

applying the filter to render data corresponding to the point to render an image corresponding to the virtual environment.

9. The system of claim 8 , wherein the filter geometry corresponds to a second intersection of the projection with a surface corresponding to the point.

10. The system of claim 8 , wherein the projection comprises a multi-dimensional shape.

11. The system of claim 8 , wherein a direction of the projection corresponds to the geometry of the 3D shape.

12. The system of claim 8 , wherein the determining of the filter geometry is based at least on a geometry of the light source, and the geometry of the light source defines a shape of the intersection between the 3D shape and the occluder.

13. The system of claim 8 , wherein the filter geometry defines a first width of the filter along a first filter direction, and the applying of the filter uses the first width along the first filter direction and a second width along a second filter direction, the second width having a different magnitude than the first width.

14. The system of claim 8 , the determining of the geometry is based at least on a type of the light source.

15. The system of claim 8 , wherein the light source is a rectangular light source and the 3D shape is a pyramid.

16. The system of claim 8 , wherein the light source is a directional light source and the 3D shape is a cone.

17. A processor comprising:

one or more circuits to render an image using a filter having a filter geometry computed based at least on a cross-section of a projection of an intersection between an occluder and a three dimensional (3D) shape along a view vector, the 3D shape projecting from a point towards a light source in a virtual environment, the projection being computed using geometry of the 3D shape.

18. The processor of claim 17 , wherein the intersection is between a portion of a virtual light path that extends from the point and a surface of the occluder that is on an opposite side of the occluder with respect to the light source.

19. The processor of claim 17 , wherein the filter geometry is computed based at least on a distance between the point and the occluder.

20. The processor of claim 17 , wherein the filter geometry is computed based at least on a normal vector of a surface at the point.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2022
From: LIU, SHIQIU
To: NVIDIA CORPORATION
Reel/Frame 061090/0078 →
Continuity (7)
Continuation 16920971 · Jul 6, 2020
Continuation 16354983 · Mar 15, 2019
Provisional Application 62718923 · Aug 14, 2018
Provisional Application 62644601 · Mar 19, 2018
Provisional Application 62644385 · Mar 17, 2018
Provisional Application 62644386 · Mar 17, 2018
Related Publication 20220327764A1 · Oct 13, 2022
Cited By (1)
US 12,423,782