IP Library Granted Patent US 7,969,438
Granted Patent B2
US 7,969,438 · App. 11/707,346 · Granted Jun 28, 2011

Soft shadows for cinematic lighting for computer graphics

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 7,969,438
App. No.
11/707,346
Granted
Jun 28, 2011
Kind
B2
Abstract

A method and apparatus for high quality soft shadows for area lights in cinematic lighting for use in computer graphics, such as computer enabled animation. The method is an extension of traditional shadow maps, so the complexity of the present method is independent of geometric complexity. It uses multilayer translucent shadow maps, which can be used to produce high quality soft shadows for scenes with extremely complex geometry, fur, and volume objects. The present method computes the shadow factor by ray tracing the multilayer translucent shadow map.

Claims (46)

1. A computer enabled method of animation, comprising the acts of:

providing an image depicting at least one object;

storing in a computer readable memory a plurality of depth values of each pixel of the image from a position of a light source, thereby forming a multilayer depth map;

storing in the computer memory an opacity or translucency value along with each of the plurality of depth values of each pixel in the multilayer depth map, thereby forming a multilayer translucent shadow map;

tracing a projected light ray against multilayer translucent shadow map;

performing an intersection test of each traced light ray to define at least one shadow in the image, as cast by the light ray;

wherein for each pixel there is provided a list of the layers of the multilayer depth map, each layer having a depth of the first samples in the layer, an accumulated opacity of all the samples in the layer, and a count of samples in the layer;

wherein the intersection test includes computing in a processor an accumulated visibility along each of the traced light rays using the multilayer translucent shadow map.

2. The method of claim 1 , further comprising the acts of sampling and filtering the shadow map thereby to compute a shadow effect of the light source.

3. The method of claim 1 , wherein the act of storing comprises:

providing a scan line renderer; and

in the scan line renderer, providing a list of a plurality of samples for each pixel representing the depth values of all objects that cover that pixel.

4. The method of claim 3 , further comprising the act of inserting a sample into the pixel list of the shadow map when an object covering that pixel is rasterized.

5. The method of claim 1 , wherein the act of performing the intersection test further comprises:

transforming the light ray to a ray in camera space of the shadow map;

clipping the camera space ray;

projecting the clipped camera space ray to a screen space of the image; and

ray tracing the resulting screen space ray against the multilayer translucent shadow map.

6. The method of claim 1 , further comprising the acts of:

projecting a light ray to each pixel of the image;

determining a position of surfaces or volume samples intersected by the projected light ray for each pixel; and

determining visibility changes of the projected light ray due to the intersection.

7. The method of claim 1 , further comprising the acts of:

storing a number of samples between each pair of the selected points; and when the accumulated opacity is 1, resetting it to a value of zero.

8. The method of claim 1 , wherein the projected light rays emanate from an area light source.

9. The method of claim 1 , further comprising the act of:

moving a camera location of the shadow map away from a center of the light source, along a reverse direction of the light; whereby the objects in the image are not clipped by the projected light ray.

10. The method of claim 1 , further comprising the act of:

providing at least four of the layers.

11. A non-transitory computer readable medium storing computer code for carrying out the method of claim 1 .

12. A programmed computer, programmed to carry out the method of claim 1 .

13. The method of claim 1 , further comprising the acts of:

for each pixel on the projected light ray:

determining the opacity of points intersected by the projected light ray at the pixel, wherein the opacity of a point between any two of the pixels is computed using-an interpolation of values of the stored depth and opacity layers;

reducing the accumulated visibility of light ray by the opacity of the intersected point; and

stopping the reducing when an accumulated visibility of the light ray is zero.

14. The method of claim 1 , wherein the light source is stochastically sampled to generate a plurality of light positions; and a plurality of light rays are computed as originating from these sampled light positions; and the shadow factor of the area light source is computed by aggregating the shadow factors of the plurality of light rays.

15. A computer enabled method for generating soft shadows in an image of an object for an area light source, comprising the acts of:

generating a shadow map depicting at least the object;

storing in a computer readable memory multiple layers of depth and opacity values for each pixel in the generated shadow map while rendering the object lit with the area light source;

computing in a computer processor a projected ray for each of a plurality of stochastically sampled light positions on the area light source;

tracing the projected ray through the layers of the shadow map;

accumulating visibility along the traced ray as a function of the stored depth and opacity values in each pixel of the shadow map that the ray overlaps;

computing in the computer processor a shadow factor of each traced ray as 1 minus the accumulated visibility of that ray;

wherein for each pixel there is provided a list of the layers of the multilayer depth map, each layer having a depth of the first samples in the layer, an accumulated opacity of all the samples in the layer, and a count of samples in the layer; and

computing in the computer processor a shadow factor of the area light source as the weighted average of the computed shadow factors of the plurality of the sampled light rays.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2024
From: PACIFIC DATA IMAGES L.L.C.
To: DREAMWORKS ANIMATION L.L.C.
Reel/Frame 069597/0468 →
RELEASE OF SECURITY INTEREST Recorded Dec 27, 2016
From: JPMORGAN CHASE BANK, N.A.
To: PACIFIC DATA IMAGES, L.L.C.
Reel/Frame 040775/0345 →
SECURITY AGREEMENT Recorded Aug 17, 2012
From: PACIFIC DATA IMAGES L.L.C.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 028801/0958 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Aug 15, 2012
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: DREAMWORKS ANIMATION L.L.C.; PACIFIC DATA IMAGES L.L.C.
Reel/Frame 028794/0770 →
SECURITY AGREEMENT Recorded Aug 28, 2008
From: PACIFIC DATA IMAGES L.L.C.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 021450/0591 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2007
From: XIE, FENG
To: PACIFIC DATA IMAGES LLC
Reel/Frame 019431/0731 →