IP Library Granted Patent US 8,189,003
Granted Patent B2
US 8,189,003 · App. 11/801,163 · Granted May 29, 2012

System and method for rendering computer graphics utilizing a shadow illuminator

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 8,189,003
App. No.
11/801,163
Granted
May 29, 2012
Kind
B2
Abstract

Embodiments of the present invention are directed to rendering computer graphics using an augmented direct light model which approximates the effect of indirect light in shadows. More specifically, a shadow illuminator light source is provided for. The shadow illuminator light source is associated with an ordinary, or primary light source and is used to provide illumination in areas which are in shadows with respect to the primary light source. The shadow illuminator provides illumination only to areas which are considered to be in the shadows with respect to the light source the shadow illuminator is associated with. Thus, the shadow illuminator may be used to approximate the effects of indirect light.

Claims (103)

1. A method for determining a total illumination of a pixel within a rendered image, comprising:

placing one or more primary light sources within a scene;

placing a shadow illuminator within the scene, the shadow illuminator being associated with one of the one or more primary light sources;

determining whether the pixel is in a shadow with respect to said primary light source; and

modifying the total illumination of the pixel by taking into account illumination contributed from the shadow illuminator only if the pixel is determined to be in a shadow with respect to said primary light source.

2. The method of claim 1 , wherein modifying the total illumination of the pixel comprises adding illumination associated with the shadow illuminator to an aggregate illumination for the pixel.

3. The method of claim 1 , further comprising shading the pixel based on the total illumination value of the pixel.

4. The method of claim 1 , wherein determining whether the pixel is in a shadow further comprises accessing a shadow map associated with said primary light source.

5. The method of claim 1 , further comprising:

repeating the steps of claim 1 multiple times in order to determine initial total illumination values for the pixel as well as a plurality of pixels in proximity to the pixel;

calculating a weighted average of the initial illumination value of the pixel and the plurality of pixels in proximity to the pixel; and

basing the total illumination value of the pixel on the weighted average.

6. The method of claim 1 , further comprising:

determining whether the pixel is in a shadow with respect to the shadow illuminator;

wherein, during the modifying the total illumination step, the total illumination is not modified to take into account illumination contributed from the shadow illuminator if the pixel is determined to be in a shadow with respect to the shadow illuminator.

7. The method of claim 6 , wherein determining whether the pixel is in a shadow with respect to the shadow illuminator further comprises accessing a shadow map associated with the shadow illuminator.

8. The method of claim 1 , wherein:

placing a shadow illuminator within a scene includes placing two or more shadow illuminators within the scene and associating the two or more shadow illuminators with the primary light source; and

modifying the total illumination of the pixel includes taking into account illumination contributed from the two or more shadow illuminators only if the pixel is determined to be in a shadow with respect to said primary light source.

9. The method of claim 1 , further comprising:

placing a second shadow illuminator within the scene, the second shadow illuminator being associated with the shadow illuminator;

determining whether the pixel is in a shadow with respect to the shadow illuminator; and

modifying the total illumination of the pixel by taking into account illumination contributed from the second shadow illuminator only if the pixel is determined to be in a shadow with respect to the shadow illuminator.

10. A method for determining a total illumination of a pixel within a rendered image, comprising:

placing two or more primary light sources within a scene;

placing a shadow illuminator within the scene, the shadow illuminator being associated with two or more associated light sources of the two or more primary light sources;

determining whether the pixel is in a shadow with respect to at least one of the two or more associated light sources; and

modifying the total illumination of the pixel by taking into account illumination contributed from the shadow illuminator only if the pixel is determined to be in a shadow with respect to at least one of the two or more associated light sources.

11. A method for determining a total illumination of a pixel within a rendered image, comprising:

placing two or more primary light sources within a scene;

placing a shadow illuminator within the scene, the shadow illuminator being associated with two or more associated light sources of the two or more primary light sources;

determining whether the pixel is in a shadow with respect to each of the two or more associated light sources; and

modifying the total illumination of the pixel by taking into account illumination contributed from the shadow illuminator only if the pixel is determined to be in a shadow with respect to each of the two or more associated light sources.

12. A non-transitory computer readable medium comprising computer executable instructions configured to cause a processor to determine a total illumination of a pixel within a rendered image by performing a method comprising:

placing one or more primary light sources within a scene;

placing a shadow illuminator within the scene, the shadow illuminator being associated with one of the one or more primary light sources;

determining whether the pixel is in a shadow with respect to said primary light source; and

modifying the total illumination of the pixel by taking into account illumination contributed from the shadow illuminator only if the pixel is determined to be in a shadow with respect to said primary light source.

13. The non-transitory computer readable medium of claim 12 , wherein modifying of the total illumination of the pixel comprises adding illumination associated with the shadow illuminator to an aggregate illumination for the pixel.

14. The non-transitory computer readable medium of claim 12 , wherein the method further comprises shading the pixel based on the total illumination value of the pixel.

15. The non-transitory computer readable medium of claim 12 , wherein the determining whether the pixel is in a shadow further comprises accessing a shadow map associated with said primary light source.

16. The non-transitory computer readable medium of claim 12 , wherein the method further comprises:

repeating the steps of claim 12 multiple times in order to determine initial total illumination values for the pixel as well as a plurality of pixels in proximity to the pixel;

calculating a weighted average of the initial illumination value of the pixel and the plurality of pixels in proximity to the pixel; and

basing the total illumination value of the pixel on the weighted average.

17. The non-transitory computer readable medium of claim 12 , wherein the method further comprises:

determining whether the pixel is in a shadow with respect to the shadow illuminator,

wherein, during the modifying the total illumination step, the total illumination is not modified to take into account illumination contributed from the shadow illuminator if the pixel is determined to be in a shadow with respect to the shadow illuminator.

18. The non-transitory computer readable medium of claim 17 , wherein determining whether the pixel is in a shadow with respect to the shadow illuminator further comprises accessing a shadow map associated with the shadow illuminator.

19. The non-transitory computer readable medium of claim 12 , wherein:

placing a shadow illuminator within a scene includes placing two or more shadow illuminators within the scene and associating the two or more shadow illuminators with the primary light source; and

modifying the total illumination of the pixel includes taking into account illumination contributed from the two or more shadow illuminators only if the pixel is determined to be in a shadow with respect to said primary light source.

20. The non-transitory computer readable medium of claim 12 , wherein the method further comprises:

placing a second shadow illuminator within the scene, the second shadow illuminator being associated with the shadow illuminator;

determining whether the pixel is in a shadow with respect to the shadow illuminator; and

modifying the total illumination of the pixel by taking into account illumination contributed from the second shadow illuminator only if the pixel is determined to be in a shadow with respect to the shadow illuminator.

21. A non-transitory computer readable medium comprising computer executable instructions configured to cause a processor to determine a total illumination of a pixel within a rendered image by performing a method comprising:

placing two or more primary light sources within a scene;

placing a shadow illuminator within the scene, the shadow illuminator being associated with two or more associated light sources of the two or more primary light sources;

determining whether the pixel is in a shadow with respect to at least one of the two or more associated light sources; and

modifying the total illumination of the pixel by taking into account illumination contributed from the shadow illuminator only if the pixel is determined to be in a shadow with respect to at least one of the two or more associated light sources.

22. A non-transitory computer readable medium comprising computer executable instructions configured to cause a processor to determine a total illumination of a pixel within a rendered image by performing a method comprising:

placing two or more primary light sources within a scene;

placing a shadow illuminator within the scene, the shadow illuminator being associated with two or more associated light sources of the two or more primary light sources;

determining whether the pixel is in a shadow with respect to each of the two or more associated light sources; and

modifying the total illumination of the pixel by taking into account illumination contributed from the shadow illuminator only if the pixel is determined to be in a shadow with respect to each of the two or more associated light sources.

23. An apparatus for determining a total illumination of a pixel within a rendered image, the apparatus comprising a processor and a memory, the memory comprising instructions configured to cause the processor to:

place one or more primary light sources within a scene;

place a shadow illuminator within the scene, the shadow illuminator being associated with one of the one or more primary light sources;

determine whether the pixel is in a shadow with respect to said primary light source; and

modify the total illumination of the pixel by taking into account illumination contributed from the shadow illuminator only if the pixel is determined to be in a shadow with respect to said primary light source.

24. The apparatus of claim 23 , wherein modifying of the total illumination of the pixel comprises adding illumination associated with the shadow illuminator to an aggregate illumination for the pixel.

25. The apparatus of claim 23 , wherein the instructions are further configured to cause the processor to shade the pixel based on the total illumination value of the pixel.

26. The apparatus of claim 23 , wherein determining whether the pixel is in a shadow further comprises accessing a shadow map associated with said primary light source.

27. The apparatus of claim 23 , wherein the instructions are further configured to cause the processor to:

repeat the actions of claim 23 multiple times in order to determine initial total illumination values for the pixel as well as a plurality of pixels in proximity to the pixel;

calculate a weighted average of the initial illumination value of the pixel and the plurality of pixels in proximity to the pixel; and

base the total illumination value of the pixel on the weighted average.

28. The apparatus of claim 23 , wherein the instructions are further configured to cause the processor to:

determine whether the pixel is in a shadow with respect to the shadow illuminator;

wherein the total illumination is not modified to take into account illumination contributed from the shadow illuminator if the pixel is determined to be in a shadow with respect to the shadow illuminator.

29. The apparatus of claim 28 , wherein determining whether the pixel is in a shadow with respect to the shadow illuminator further comprises accessing a shadow map associated with the shadow illuminator.

30. The apparatus of claim 23 , wherein:

placing a shadow illuminator within a scene includes placing two or more shadow illuminators within the scene and associating the two or more shadow illuminators with the primary light source; and

modifying the total illumination of the pixel includes taking into account illumination contributed from the two or more shadow illuminators only if the pixel is determined to be in a shadow with respect to said primary light source.

31. The apparatus of claim 23 , wherein the instructions are further configured to cause the processor to:

place a second shadow illuminator within the scene, the second shadow illuminator being associated with the shadow illuminator;

determine whether the pixel is in a shadow with respect to the shadow illuminator; and

modify the total illumination of the pixel by taking into account illumination contributed from the second shadow illuminator only if the pixel is determined to be in a shadow with respect to the shadow illuminator.

32. The apparatus of claim 23 , wherein the apparatus comprises a generally programmable computer.

33. The apparatus of claim 32 , wherein the apparatus comprises a supercomputer.

34. The apparatus of claim 32 , wherein the apparatus comprises a cluster of generally programmable computers.

35. The apparatus of claim 23 , wherein the apparatus is an application specific computing device.

36. An apparatus for determining a total illumination of a pixel within a rendered image, the apparatus comprising a processor and a memory, the memory comprising instructions configured to cause the processor to:

place two or more primary light sources within a scene;

place a shadow illuminator within the scene, the shadow illuminator being associated with two or more associated light sources of the two or more primary light sources;

determine whether the pixel is in a shadow with respect to at least one of the two or more associated light sources; and

modify the total illumination of the pixel by taking into account illumination contributed from the shadow illuminator only if the pixel is determined to be in a shadow with respect to at least one of the two or more associated light sources.

37. An apparatus for determining a total illumination of a pixel within a rendered image, the apparatus comprising a processor and a memory, the memory comprising instructions configured to cause the processor to:

place two or more primary light sources within a scene;

place a shadow illuminator within the scene, the shadow illuminator being associated with two or more associated light sources of the two or more primary light sources;

determine whether the pixel is in a shadow with respect to each of the two or more associated light sources; and

modify the total illumination of the pixel by taking into account illumination contributed from the shadow illuminator only if the pixel is determined to be in a shadow with respect to each of the two or more associated light sources.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Dec 27, 2016
From: JPMORGAN CHASE BANK, N.A.
To: DREAMWORKS ANIMATION L.L.C.
Reel/Frame 040775/0318 →
SECURITY AGREEMENT Recorded Aug 17, 2012
From: DREAMWORKS ANIMATION L.L.C.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 028801/0800 →
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: DREAMWORKS ANIMATION L.L.C.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 021450/0584 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2007
From: TARTAGLIA, BRUCE NUNZIO; DENIS, PHILIPPE
To: DREAMWORKS ANIMATION LLC
Reel/Frame 019332/0180 →