IP Library Patent Application 18746536
Patent Application
App. No. 18/746,536

SHADOW DENOISING IN RAY-TRACING APPLICATIONS

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 None
App. No.
18/746,536
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 (36)

1 . A method comprising:

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

casting a second ray from the point towards a light source in the virtual environment;

computing an intersection of the second ray and an occluding element, the occluding element being disposed between the point and the light source along a path of the second ray;

based at least on the intersection, projecting a vector of the light source along the ray to the surface to determine a filter direction; and

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

2 . The method of claim 1 , wherein the projecting the vector of the light source determines a world space version of the filter direction, and the method further comprises:

projecting the world space version of the filter direction along a view vector to determine a screen space version of the filter direction, wherein the applying of the filter uses the screen space version of the filter direction.

3 . The method of claim 1 , further comprising computing a second filter direction based at least on the filter direction and a normal vector corresponding to the surface, wherein the applying the filter is further in the second filter direction.

4 . The method of claim 1 , wherein the applying the filter includes determining one or more filter weights for the filter based at least on applying one or more distribution functions to the filter based at least on the filter direction.

5 . The method of claim 1 , wherein the filter includes a separable filter having one or first sub-matrices corresponding to the filter direction and one or more second sub-matrices corresponding to a second filter direction.

6 . The method of claim 1 , wherein a filter geometry of the filter corresponds to a cross-section of a projection of the intersection along a view vector.

7 . The method of claim 1 , wherein the projecting is based at least on a normal vector of the surface at the point in the virtual environment.

8 . The method of claim 1 , wherein the filter direction extends along a first width of the filter that is different than a second width of the filter.

9 . A system comprising:

one or more processor to perform operations including:

casting a ray from a point corresponding to a surface in a virtual environment towards a light source in the virtual environment;

computing an intersection of the ray and an occluding element, the occluding element being disposed between the point and the light source along a path of the ray;

based at least on the intersection, determining a filter direction corresponding to a projection of a vector of the light source along the ray to the surface; and

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

10 . The system of claim 9 , wherein the projection determines a world space version of the filter direction, and the determining the filter direction further comprises:

projecting the world space version of the filter direction to screen space to determine a screen space version of the filter direction, wherein the applying of the filter uses the screen space version of the filter direction.

11 . The system of claim 9 , wherein the operations include computing a second filter direction based at least on the filter direction and a normal vector corresponding to the surface, wherein the applying the filter is further in the second filter direction.

12 . The system of claim 9 , wherein the applying the filter includes determining one or more filter weights for the filter based at least on applying one or more distribution functions to the filter based at least on the filter direction.

13 . The system of claim 9 , wherein the filter includes a separable filter having one or first sub-matrices corresponding to the filter direction and one or more second sub-matrices corresponding to a second filter direction.

14 . The system of claim 9 , wherein a filter geometry of the filter corresponds to a cross-section of a second projection of the intersection along a view vector.

15 . The system of claim 9 , wherein the projection is based at least on a normal vector of the surface at the point.

16 . The system of claim 9 , wherein the filter direction extends along a first width of the filter that is different than a second width of the filter.

17 . At least one processor comprising:

one or more circuits to render an image based at least on applying a filter in a filter direction corresponding to a projection of a vector of a light source along a ray to a surface,

the ray cast from a point corresponding to the surface towards the light source,

the filter direction being computed based at least on an intersection of the ray and an occluding element disposed between the point and the light source along a path of the ray.

18 . The at least one processor of claim 17 , wherein the projection determines a world space version of the filter direction, and the filter direction is further determined based at least on:

projecting the world space version of the filter direction to screen space to determine a screen space version of the filter direction, wherein the applying of the filter uses the screen space version of the filter direction.

19 . The at least one processor of claim 17 , wherein the one or more circuits are to compute a second filter direction based at least on the filter direction and a normal vector corresponding to the surface, wherein the applying the filter is further in the second filter direction.

20 . The at least one processor of claim 17 , wherein the applying the filter includes determining one or more filter weights for the filter based at least on applying one or more distribution functions to the filter based at least on the filter direction.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2024
From: LIU, SHIQIU
To: NVIDIA CORPORATION
Reel/Frame 068019/0507 →