Publication number | USRE40224 E1 |

Publication type | Grant |

Application number | US 10/930,057 |

Publication date | Apr 8, 2008 |

Filing date | Aug 26, 2004 |

Priority date | Jan 23, 1998 |

Fee status | Paid |

Also published as | US6441820, US20010040574 |

Publication number | 10930057, 930057, US RE40224 E1, US RE40224E1, US-E1-RE40224, USRE40224 E1, USRE40224E1 |

Inventors | Mitch Prater |

Original Assignee | Pixar |

Export Citation | BiBTeX, EndNote, RefMan |

Patent Citations (5), Non-Patent Citations (6), Referenced by (1), Classifications (11), Legal Events (2) | |

External Links: USPTO, USPTO Assignment, Espacenet | |

US RE40224 E1

Abstract

Computer animators have, till now, largely relegated themselves to using point light sources when simulating directional light sources in computer graphics and animation. The illumination achieved is computationally feasible but not totally realistic. While it is possible to use a finite light source of given size and shape to achieve a more realistic effect, the radiosity analysis required to calculate the illumination effect of such a light source is so cumbersome that it cannot be used for real-time computer animation. The described invention allows the animator to approximate the illumination effect of a finite light source by using a point source of varying location and intensity. Another embodiment of the invention allows the animator to realistically simulate ambient light by a similar method. The resulting illumination effects are comparable to those achieved with full radiosity analyses at much lower computational loads.

Claims(30)

1. A method for illuminating surfaces in computer graphics comprising the steps of:

constructing a plurality of finite light sources within a computer animated scene, each of the finite light sources having a finite size and a center;

constructing a plurality of surfaces within the scene, each surface consisting of a plurality of points; and

approximating an illumination effect of each of the finite light sources by the use of a single point light source of varying intensity and location, taking into account the the finite size and center of each of the finite light sources.

2. The method of claim 1 wherein a portion of each of the light sources illuminates each of the points.

3. The method of claim 2 comprising the further step of approximately calculating a light intensity and a light vector direction as a function of the portion of each of the light sources which illuminates each of the points.

4. The method of claim 3 comprising the further step of calculating the light intensity as a function of the portion of the light source which illuminates each of the points.

5. The method of claim 4 comprising the further step of approximating the light vector direction as a function of the portion of the light source shines upon the point.

6. The method of claim 1 wherein said finite light source is a sphere.

7. A method for illuminating surfaces in a computer-modeled scene comprising the steps of:

constructing a plurality of hemispherical light source of finite radius;

constructing a plurality of surfaces with said scene, said surfaces consisting of a plurality of points; and

approximating an illumination effect of each of the hemispherical light source by the use of a plurality of point light sources.

8. The method of claim 7 , comprising the further step of calculating a light intensity and a light vector direction as a function of a portion of the light source which illuminates each of the points.

9. The method of claim 8 wherein said light vector direction is a function of the portion of said hemispherical light source which shines upon said point.

10. The method of claim 9 wherein said light intensity is a function of the portion of said hemispherical light source which shines upon said point.

11. An apparatus for illuminating surfaces in computer graphics, the apparatus comprising:
*a memory configured to store information for a computer animated scene; and * *a processor coupled to the memory, the processor configured to: * *construct a plurality of finite light sources within the computer animated scene, each of the finite light sources having a finite size and a center; * *construct a plurality of surfaces within the scene, each surface comprising a plurality of points; and * *approximate an illumination effect of each of the finite light sources by the use of a single point light source of varying intensity and location, taking into account the finite size and center of each of the finite light sources.*

12. The apparatus of claim 11 wherein a portion of each of the light sources illuminates each of the points.

13. The apparatus of claim 12 wherein, for each point, the processor is configured to approximately calculate a light intensity and a light vector direction as a function of the portion of each of the light sources which illuminates the point.

14. The apparatus of claim 13 wherein, for each point, the processor is configured to calculate the light intensity as a function of the portion of the light source which illuminates the point.

15. The apparatus of claim 14 wherein the processor is configured to approximate the light vector direction as a function of the portion of the light source that shines upon the point.

16. The apparatus of claim 11 wherein at least one finite light source from the plurality of finite light sources is a sphere.

17. An apparatus for illuminating surfaces in a computer-*modeled scene, the apparatus comprising: * *a memory configured to store information for the scene; and * *a processor coupled to the memory, the processor configured to: * *construct a hemispherical light source; * *construct a plurality of surfaces within said scene, said surfaces comprising a plurality of points; and * *approximate an illumination effect of the hemispherical light source for each point in the plurality of points by use of a single point light source.*

18. The apparatus of claim 17 wherein the processor is configured to calculate a light intensity and a light vector direction for a point from a plurality of points as a function of a portion of the light source which illuminates the point.

19. The apparatus of claim 18 wherein said light vector direction is a function of the portion of said hemispherical light source which shines upon said point.

20. The apparatus of claim 19 wherein said light intensity is a function of the portion of said hemispherical light source which sines upon said point.

21. A method of determining an illumination effect of a finite light source using a computer system, the method comprising:
*providing a computer*-*animated scene comprising a finite light source having a position and a shape; * *providing a surface within the computer*-*animated scene, the surface comprising a plurality of points; and * *approximating, for each point in the plurality of points of the surface, an illumination effect of the finite light source for the point by using a point light source whose location and intensity is determined based upon a position of the point on the surface, the position of the finite light source, and the shape of the finite light source.*

22. The method of claim 21 wherein the approximating comprises determining the location and intensity of a point light source for a point based upon a portion of the finite light source that illuminates the point.

23. The method of claim 21 wherein the shape of the finite light source is substantially a sphere.

24. A method of approximating an illumination effect of a finite light source using a computer system, the method comprising:
*providing a computer*-*animated scene comprising a finite light source having a position and a shape; * *providing a surface within the computer*-*animated scene, the surface comprising a first point and a second point; * *approximating the illumination effect of the finite light source for the first point by using a point light source whose location and intensity is determined based upon a position of the first point on the surface, the position of the finite light source, and the shape of the finite light source; and * *approximating the illumination effect of the finite light source for the second point by using a point light source whose location and intensity is determined based upon a position of the second point on the surface, the position of the finite light source, and the shape of the finite light source; * *wherein the location and intensity of the point light source determined for approximating the illumination effect for the second point are different from the location and intensity of the point light source determined for approximating the illumination effect for the first point.*

25. The method of claim 24 wherein:
*approximating the illumination effect for the first point comprises determining the location and intensity of the point light source based upon a portion of the finite light source that illuminates the first point; and * *approximating the illumination effect for the second point comprises determining the location and intensity of the point light source based upon a portion of the finite light source that illuminates the second point.*

26. A method of determining an illumination effect of a finite light source using a computer system, the method comprising:
*providing a computer*-*animated scene comprising a finite light source having a position and a shape; * *providing a surface within the computer*-*animated scene, the surface comprising a plurality of points; and * *approximating, for each point in the plurality of points, an illumination effect of the finite light source for the point by using a point light source whose location and intensity is determined based upon a portion of the finite light source that illuminates the point.*

27. A method of illuminating surfaces in a computer-*modeled scene, the method comprising: * *providing ambient light in the scene, the ambient light provided by a lighted sphere; * *providing one or more surfaces in the scene, the one or more surfaces comprising a plurality of points; and * *approximating an illumination effect of the ambient light for each point in the plurality of points using a point light source, wherein the location and intensity of the point light source used for a point are determined based upon a portion of the lighted sphere illuminating the point.*

28. The method of claim 27 wherein the ambient light is skylight.

29. An apparatus for determining an illumination effect of a finite light source, the apparatus comprising:
*a memory configured to store a computer*-*animated scene comprising a finite light source having a position and a shape, the scene comprising a surface comprising a plurality of points; and * *a processor coupled to the memory, the processor configured to approximate, for each point in the plurality of points, an illumination effect of the finite light source for the point by using a point light source whose location and intensity is determined based upon a position of the point on the surface, the position of the finite light source, and the shape of the finite light source.*

30. An apparatus for illuminating surfaces in a computer-*modeled scene, the apparatus comprising: * *a memory configured to store information for the computer*-*modeled scene, the scene comprising an ambient light provided by a lighted sphere and a plurality of surfaces comprising a plurality of points; and * *a processor coupled to the memory, the processor configured to approximate an illumination effect of the ambient light on the surfaces by approximating an illumination effect of the ambient light for each point in the plurality of points using a point light source, wherein the location and intensity of the point light source used for a point are determined based upon a portion of the lighted sphere illuminating the point.*

Description

The invention relates generally to the art of computer graphics and animation. More particularly, the invention relates to efficient approximation of finite light sources using point light sources of varying location and intensity.

In order to render a scene in computer graphics or computer animation, computer artists and animators often will place one or more light sources within the scene in order to illuminate it. If, for instance, an animator wished to render a room that was lit by two light bulbs, he or she would construct two light sources, representing the light bulbs, and then calculate the illumination effect of these two sources. The standard construct for such directional light sources is the point source, whereby all light is considered to emanate from a single point.

The point source is the standard construct because calculation of its illumination effect is computationally straightforward. For any given surface point within the scene, the rendering method need only calculate the effect of a single ray of light, which has a singular direction and intensity. The disadvantage of using the point source is its lack of realism. When illuminated by a point source, any surface point in the scene will either by illuminated by the point light source, or else wholly hidden from it. As a result, shadows and other partial lighting conditions are rendered in an unrealistically sharp, binary manner (see FIG. **5**).

One alternative to using a point light source is to use a finite source, one that has an extended shape and size. The light emerging from a finite source will emanate from its entire surface, and not just a single point. Finite sources illuminate a scene in a much more realistic manner. Some surface points will be illuminated by the entire finite light source, others totally hidden from it. More important is the fact that some points will be partially illuminated by the source.

Despite this superior effect, computer artists and animators do not currently use finite light sources to illuminate their graphics and their scenes. Determination of the total contributing light from a finite light source to a surface point, has, till this point, required a numerical integration over the entire surface of the finite source. Such calculations are simply too cumbersome to be practically used in computer animation. Finite light sources are sometimes used to illuminate single computer-generated scenes or “photos” when a highly realistic image is desired and computational speed is not an issue, but even in these situations the computational burden is considered onerous.

Computer artists and animators run into analogous problems when attempting to simulate ambient light such as skylight. Realistic calculations with respect to simulated ambient light sources are also too cumbersome to make them practical. The conventional technique for simulating ambient light, therefore, is to simply turn up the brightness throughout an entire scene, with perhaps gross modifications for surfaces points that obviously will be differentially affected by the light (such as those under dark shadows). The computation required for this is straightforward, even trivial, but the illumination effect is again not very realistic.

The invention relates to a method for approximating the illumination effect of a finite light source by a using a point light source of varying intensity and location. These two variables are manipulated depending on the “visibility” of the finite light source from the perspective of the surface point being rendered. The result is realistic illumination with minimal computational effort.

**1** is connected to one or more CPUs **2** and a main memory **3**. Also connected to the bus are a keyboard **4** and large disk memory **5**. The frame buffer **6** receives output information from the main bus and sends it through another bus **7** to either a CRT or another peripheral which writes the image directly onto film. The computer system is used to approximate the illumination effect of a finite light source and an infinite hemisphere light source. The main steps in carrying out the rendering and illumination of a scene are shown in

One exemplary embodiment of the invention involves use of a directional light source for general illumination within a scene. Such a light source might be the only light source within a scene, it might be the primary source (supplemented by secondary light sources) or it might be one of a number of primary light sources (such as a number of simulated light bulbs).

With respect to the top of the illuminated object, we can draw two tangents between the light sphere and the object, defining points P_{0 }and P_{1}. Points to the right of P_{0 }are wholly hidden from the light sphere, and thus not illuminated. Points to the left of P_{1 }are wholly illuminated, which means they receive the total illumination of the light sphere. Calculation of both the light intensity and the light vector direction for these points is straightforward (light intensity being some chosen function and vector direction being the vector between the center of the light sphere, C, and the point P being considered).

The points P_{0 }and P_{1 }define a terminator region, within which all points are partially illuminated by the light sphere (note that this terminator region is actually an extended band that circles the sphere, with points analogous to P_{0 }and P_{1 }defining its boundaries). No and N_{1 }are the corresponding normals at those points. Determining the illumination effect by radiosity analysis for each of these points would require a numerically complex integration over the portion of the light sphere that illuminates the points. The described invention approximates these calculations with results that are almost indistinguishable from the numerically complex integration.

**7**).

The portion of the projected disk that is above Ts is above the “horizon line” as seen from point P, and thus considered to shine upon that point. The portion of the light sphere below Ts is below the horizon line, and thus considered hidden from point P.

Comparing Ts with the line drawn from point P to the center of the light sphere, line Ps, it follows that θ, the angle between Ts and Ps, is arccos (˜Ps˜N)−π/2 and that D, the distance between the center of the light sphere and the line Ts, is tan (θ)×Ps. The vector direction of the light from the truncated sphere to the object can be approximated by creating a “pseudo-center” X with respect to the light sphere. Pseudo-center X is determined by shifting the center of the light sphere, C, a distance D in the direction given by the vector Ps×(N×Ps).

The vector from this newly defined X to point P defines the vector direction of light used to illuminate point P (see FIG. **7**).

The intensity of light reaching the point P will depend on the area of the projection of the truncated light source on a plane perpendicular to the line Ps. That area can in turn be approximated by the area of the truncated sphere projected onto the plane perpendicular to the tangent plane Ts containing the line Ps which is the projection shown in

The intensity of the constructed point source at X that is used to illuminate point P in the terminator region is thus calculated as a function of the portion of the light sphere that is above the horizon, which is also determined from D. We can see in ^{2}−D^{2})^{1/2}/2 and the area of G is [R^{2}arcsin(D/R)]/2. These trigonometric calculations can in practice be approximated by the function T^{2}(3−2T), where T is defined as (D+R)/2R.

The described invention thus uses a point light source of varying location and intensity to approximate the effect of a finite light source.

Note that in this embodiment of the invention, the vector direction of the light is drawn from the pseudo-center X, and not from some pseudo-surface point at a given radius as one might expect. This simplification helps reduce the computational load. When the radius of the finite light source is small compared to the distance between the source and the surface it illuminates, the sinplification does not diminish the realism of the effect.

A second exemplary embodiment of the invention is used to simulate ambient light such as skylight. This embodiment first requires the construction of a lighted hemisphere of infinite radius within a scene. The illumination effect of the hemisphere is then approximated using point sources of varying location to achieve a realistic light effect.

In

The vector direction of light shining upon point P is determined by using the centroid of that portion of the hemisphere cut by the tangent plane. In

The specific arrangements and methods described herein are merely illustrative of the principles of the present invention. Numerous modifications in form and detail may be made by those of ordinary skill in the art without departing from the scope of the present invention. Although this invention has been shown in relation to particular embodiments, it should not be considered so limited. Rather, the present invention is limited only by the scope of the appended claims.

Patent Citations

Cited Patent | Filing date | Publication date | Applicant | Title |
---|---|---|---|---|

US5268996 * | Dec 20, 1990 | Dec 7, 1993 | General Electric Company | Computer image generation method for determination of total pixel illumination due to plural light sources |

US5572635 | Jun 3, 1992 | Nov 5, 1996 | Hitachi, Ltd. | Method for changing a natural image based on a light environment in the natural image |

US5900850 | Aug 28, 1996 | May 4, 1999 | Bailey; James Tam | Portable large scale image display system |

US5905503 | Sep 3, 1996 | May 18, 1999 | U.S. Philips Corporation | Rendering an image using lookup tables giving illumination values for each light source by direction and distance |

JPS6025405A | Title not available |

Non-Patent Citations

Reference | ||
---|---|---|

1 | * | "Continious Tone Representation of Three-Dimensional Objects Illuminated by Sky Light", T. Nishita and E. Nakamae, Computer Graphics-SIGGRAPH '86 Conference Proceedings, vol. 20, No. 4, Aug. 1986, pp. 125-132. |

2 | Glassner, A. S., "The Radience Equation," chapter 17 from Principles of Digital Image Synthesis, vol. 2, pp. 871-882, Morgan Kaufman Publishers, Inc., San Francisco, CA (1995). | |

3 | * | Glassner, Andrew S., "Principles of Digital Image Synthesis," chapter 17, 1995. |

4 | * | Glassner, Andrew S., "The Radiance Equation," Principles of Digital Image Sunthesis, vol. Two, Morgan Kaufmann Publishers, Inc. San Francisco, CA, (1995), pp. 871-882. |

5 | Nishita et al., "Continuous Tone Representation of Three-Dimensional Objects Illuminated by Sky Light," Computer Graphics-SIGGRAPH '86 Conf. Proceedings, 20(4):125-132 (1986). | |

6 | Persistence of Vision Ray-Tracker Documentation, (Continuous Tone of Three-Dimensional Objects Illuminated by Sky Light). |

Referenced by

Citing Patent | Filing date | Publication date | Applicant | Title |
---|---|---|---|---|

US9001128 | May 6, 2011 | Apr 7, 2015 | Danglesnort, Llc | Efficient method of producing an animated sequence of images |

Classifications

U.S. Classification | 345/426, 345/419, 345/427, 345/473 |

International Classification | G06T15/50, G06T15/55, G06T15/60 |

Cooperative Classification | G06T15/55, G06T15/506 |

European Classification | G06T15/50M, G06T15/55 |

Legal Events

Date | Code | Event | Description |
---|---|---|---|

Feb 3, 2010 | FPAY | Fee payment | Year of fee payment: 8 |

Jan 29, 2014 | FPAY | Fee payment | Year of fee payment: 12 |

Rotate