Computer graphics processing and selective visual display system – Computer graphics processing – Three-dimension
Reexamination Certificate
1999-05-21
2001-05-01
Zimmerman, Mark (Department: 2671)
Computer graphics processing and selective visual display system
Computer graphics processing
Three-dimension
Reexamination Certificate
active
06226007
ABSTRACT:
FIELD OF THE INVENTION
The invention relates to a method and an apparatus for modeling the specular reflection of light from a surface.
BACKGROUND OF THE INVENTION
Computer generated images are created from models of objects. It is desirable that the object depicted in a computer generated image resemble the real object to the maximum extent possible. In some instances, the real object specularly reflects light. That is, when viewed at one or more angles, the object reflects light directly from a light source to the viewer. This specularly reflected light appears as a shiny area on the surface of the object.
As an example, when light is projected onto the outer waxy surface of an apple, at one or more angles the light is directly reflected from a source to the viewer and appears as a shiny spot on the apple. In order to graphically portray the image of an apple, it is desirable to display the “shiny spot” on the image of the apple which one would see if viewing the apple in real life.
One method for modeling the specular reflection associated with an object is to utilize a modified version of Gouraud shading. This method will be described with reference to FIG.
1
.
First, the surface to be imaged is divided into a number of polygons, such as triangles, the polygons having common vertices. Vectors normal to the surface N
1
, N
2
, N
3
are calculated at each vertex V
1
, V
2
, V
3
. Using these normal vectors, the light intensity I
1
, I
2
, I
3
at each vertex V
1
, V
2
, V
3
is calculated with a light intensity equation. One such equation which accounts for the light intensity from ambient, diffuse and specular components is the equation I=I
a
*k
a+I
i
*[k
d
(L•N)+k
s
(R•V)
n
].
In this equation, I
a
*k
a
represents the ambient light intensity component and k
d
(L•N) is the diffuse light intensity component. These components, while not necessary to the calculation of the specularly reflected light component, are instrumental in generating an image which accounts for light which impinges on the object from a variety of sources (the ambient component) and the light which impinges on the object from a particular source and is diffusely reflected (the diffuse component). In this portion of the equation, the ambient intensity component is dependent upon the ambient light intensity I
a
, while the diffuse component is dependent upon the intensity I
i
, of a particular light source. The term k
s
(R•V)
n
is the specularly reflected light intensity component, which is also dependent upon the light source intensity I
i
.
In the equation, k
a
, k
d
and k
s
are the ambient, diffuse and specular reflection constants. The value of these constants depends upon a number of factors, such as the texture of the surface which is being modeled or imaged.
L is the light vector, V is the viewing vector and R is the reflection vector. One arrangement of the inter-relationship of the L, V and R vectors is illustrated in FIG.
2
. In accordance with this light intensity equation, the dot product of the vectors R and V (i.e. R•V) represents the cosine of the angle between the two vectors. The R vector may be calculated in accordance with the equation R=2* (N•L)*N−L. Likewise, the dot product of the vectors L and N (i.e. L•N) represents the cosine of the angle between these two vectors.
In accordance with the Gouraud method, once the intensity of the light is calculated at each vertex of the polygon, the intensity of the light is then linearly interpolated to each other point on the polygon (each point corresponding to a display pixel). For example, referring again to
FIG. 1
, the light intensity I
4
at a point P
4
along a scan line SL is interpolated by first interpolating the light intensities I
5
and I
6
at the intersection of the scan line with the polygon edges at points P
5
and P
6
. The intensities I
5
and I
6
are interpolated from the intensities I
1
and I
3
, and I
2
and I
3
at the vertices, respectively. The intensity I
4
is then interpolated from the light intensities I
5
and I
6
.
This method is discussed in Gouraud, “Continuous Display of Curved Surfaces,” Ph. D. dissertation, Department of Computer Science, University of Utah, Salt Lake City, June 1971. This method is also discussed generally in “Fundamentals of Interactive Computer Graphics” by Foley, Van Dam and Addison-Wesley, 1984.
This method of calculating the specularly reflected light component has several problems. A first problem is that if no specular reflection component is present at a vertex of the polygon, then no specular reflection component will be yielded anywhere in that portion of the image derived from that polygon. This is the case since the specular component at all non-vertex points of the polygon are interpolated from the specular component at the vertices. In addition, this method may result in exaggerated intensity changes at discontinuities. As a result, the imaged object may not appear as the actual object would appear.
Another problem with this method is that the specular component is based upon the dot product of the R and V vectors. In other words, the specular component is based upon the cosine of the angle between these vectors. As is well known, the cosine function changes little at angles near 0 degrees. On the other hand, specular reflection only occurs at angles near 0 degrees. So that the specular function transitions smoothly from angles near 0 degrees to larger angles where no reflection is visible, the differences in the cosine values at these angles must be exaggerated. This can be accomplished by raising the cosine value by a power n. On the other hand, this makes the computation more demanding, and increases the error associated with calculation of the specular component.
Another method of modeling or calculating the specular reflection is known as the Phong method. In accordance with this method, a normal vector is calculated at each vertex of the polygon. The normal vector at other points of the polygon are interpolated from these vertex normals. The normal vector at a particular point or pixel is then normalized, i.e. turned into a unit vector., and the resulting normalized vector is used in the above-referenced light intensity calculation.
In the example illustrated in
FIG. 1
, the Phong method requires the calculation of the normal vectors N
5
and N
6
at points P
5
and P6, as interpolated from the normal vectors at points N
1
and N
3
, and N
2
and N
3
, respectively. Then, the normal vector N
4
at point P
4
is calculated from the normal vectors N
5
and N
6
. This normal vector N
4
is then normalized (i.e. converted to a unit vector) for use in the light intensity calculation.
This method is discussed in Foley, Van Dam and Addison-Wesley, supra, and in Phong, “Illumination of Computer-Generated Images,” Ph.D. dissertation, Department of Electrical Engineering, University of Utah, July 1973.
There are several problems with the Phong method. First, the normal vector must be calculated at each point or pixel. In addition, this normal vector must be converted to a unit vector. The transformation of the normal vector into a unit normal vector requires the calculation of the reciprocal square root of the terms of the vector. These calculations are very demanding in terms of computational effort and time. In addition, the dot product of the R and V vectors must still be raised to an arbitrary power n. That this calculation must be done at each point or pixel also increases the calculation demands. As a result, the Phong method is more interesting from a theoretical perspective than actually useful when considering the computational demands of the method.
A problem associated with use of either of the above-identified models is that the calculation of the specular reflection component requires calculation of the reflection vector R. Because the reflection vector R may change at each point of a surface, the above-equations require the reflection vector R to be re-calculated at each individual poi
Sealey Lance W.
Sun Microsystems Inc.
The Hecker Law Group
Zimmerman Mark
LandOfFree
Method and apparatus for modeling specular reflection does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and apparatus for modeling specular reflection, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for modeling specular reflection will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2473658