US7079138B2 - Method for computing the intensity of specularly reflected light - Google Patents

Method for computing the intensity of specularly reflected light Download PDF

Info

Publication number
US7079138B2
US7079138B2 US10/901,840 US90184004A US7079138B2 US 7079138 B2 US7079138 B2 US 7079138B2 US 90184004 A US90184004 A US 90184004A US 7079138 B2 US7079138 B2 US 7079138B2
Authority
US
United States
Prior art keywords
illumination
terms
specular
light
unit vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US10/901,840
Other versions
US20050001836A1 (en
Inventor
Michael R. Day
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment LLC
Original Assignee
Sony Computer Entertainment America LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Computer Entertainment America LLC filed Critical Sony Computer Entertainment America LLC
Priority to US10/901,840 priority Critical patent/US7079138B2/en
Assigned to SONY COMPUTER ENTERTAINMENT AMERICA INC. reassignment SONY COMPUTER ENTERTAINMENT AMERICA INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: DAY, MICHAEL R.
Publication of US20050001836A1 publication Critical patent/US20050001836A1/en
Priority to US11/442,226 priority patent/US20060214943A1/en
Application granted granted Critical
Publication of US7079138B2 publication Critical patent/US7079138B2/en
Assigned to SONY COMPUTER ENTERTAINMENT AMERICA LLC reassignment SONY COMPUTER ENTERTAINMENT AMERICA LLC MERGER (SEE DOCUMENT FOR DETAILS). Assignors: SONY COMPUTER ENTERTAINMENT AMERICA INC.
Assigned to SONY INTERACTIVE ENTERTAINMENT AMERICA LLC reassignment SONY INTERACTIVE ENTERTAINMENT AMERICA LLC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: SONY COMPUTER ENTERTAINMENT AMERICA LLC
Assigned to Sony Interactive Entertainment LLC reassignment Sony Interactive Entertainment LLC MERGER (SEE DOCUMENT FOR DETAILS). Assignors: SONY INTERACTIVE ENTERTAINMENT AMERICA LLC
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • G06T5/80
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/506Illumination models

Definitions

  • This invention relates generally to computer generated images and more particularly to a method for computing the intensity of specularly reflected light.
  • the illumination of a computer-generated object by colored light sources and ambient light is described by an illumination model.
  • the illumination model is a mathematical expression including ambient, diffuse, and specular illumination terms.
  • the object is illuminated by the reflection of ambient light and the reflection of light source light from the surface of the object. Therefore, the illumination of the object is composed of ambient, diffuse, and specularly reflected light.
  • the illumination model defines the reflection properties of the object.
  • the illumination model is considered to be accurate if the illuminated object appears realistic to an observer.
  • the illumination model is incorporated in a program executed by a rendering engine, a vector processing unit, or a central processing unit (CPU).
  • the program must be capable of computing the illumination of the object when the light sources change position with respect to the object, or when the observer views the illuminated object from a different angle, or when the object is rotated. Furthermore, an efficient illumination model is needed for the program to compute the illumination in real-time, for example, if the object is rotating. Therefore, it is desired to incorporate terms in the illumination model that are computationally cost effective, while at the same time generating an image of the illuminated object that is aesthetically pleasing to the observer.
  • Ambient light is generalized lighting not attributable to direct light rays from a specific light source.
  • ambient light is generated in a room by multiple reflections of overhead florescent light by the walls and objects in the room, providing an omni-directional distribution of light.
  • the illumination of the object by ambient light is a function of the color of the ambient light and the reflection properties of the object.
  • FIG. 1A illustrates diffuse reflection from an object's surface.
  • a light ray i 105 from a source 110 is incident upon a surface 115 at point P 120 , where a bold character denotes a vector.
  • Light ray i 105 is scattered diffusely about point P 120 into a plurality of light rays r 1 125 , r 2 125 , r 3 125 , r 4 125 , and r 5 125 .
  • FIG. 1B illustrates specular reflection from an object's surface.
  • a light ray i 130 from a source 135 is incident upon a surface 140 at a point P 145 .
  • Light ray i 130 is specularly reflected about point P 145 into a plurality of light rays r 1 150 , r 2 150 , r 3 150 , r 4 150 , and r 5 155 , confined within a cone 160 subtended by angle ⁇ 165 .
  • Light ray r 155 is the preferred direction for specular reflection. That is, the intensity of specularly reflected light has a maximum along light ray r 155 .
  • the direction of preferred light ray r 155 is specified when the angle of reflection is equal to the angle of incidence.
  • objects reflect light diffusely and specularly, and in order to generate a realistic illumination of the computer-generated object that closely resembles the real physical object, both diffuse and specular reflections need to be considered.
  • FIG. 2A illustrates specular reflection from an object's surface in a preferred direction, including a unit vector l 205 pointing towards a light source 210 , a unit vector n 215 normal to a surface 220 at a point of reflection P 225 , a unit vector r 230 pointing in the preferred reflected light direction, a unit vector v 235 pointing towards an observer 240 , an angle of incidence ⁇ i 245 subtended by the unit vector l 205 and the unit vector n 215 , an angle of reflection ⁇ r 250 subtended by unit vector n 215 and the unit vector r 230 , and an angle ⁇ rv 255 subtended by unit vector r 230 and unit vector v 235 .
  • Light from the source 210 propagates in the direction of a unit vector ⁇ l 260 , and is specularly reflected from the surface 220 at point P 225 .
  • a unit vector is a vector of unit magnitude.
  • Reflection of light from a perfectly smooth surface obeys Snell's law.
  • FIG. 2B illustrates another embodiment of specular reflection from an object's surface in a preferred direction, including a unit vector l 265 pointing towards a light source 270 , a unit vector n 275 normal to a surface 280 at a point of reflection P 282 , a unit vector r 284 pointing in the preferred reflected light direction, a unit vector v 286 pointing towards an observer 288 , a unit vector h 290 bisecting the angle subtended by the unit vector l 265 and the unit vector v 286 , an angle of incidence ⁇ i 294 , an angle of reflection ⁇ r 290 , and an angle ⁇ nh 292 subtended by the unit vector h 290 and the unit vector n 275 .
  • Light from the source 270 propagates in the direction of a unit vector ⁇ l 272 .
  • the angle of incidence ⁇ i 294 is equal to the angle of reflection ⁇ r 290 .
  • the second prior art method for computing the intensity of specular reflection has an advantage over the first prior art method in that the second prior art method more closely agrees with empirical specular reflection data.
  • the first and second prior art methods for computing the intensity of specularly reflected light are computationally expensive compared to the calculation of the diffuse and ambient terms that make up the remainder of the illumination model.
  • Specular intensity as defined by the prior art is proportional to cos n ⁇ , where ⁇ rv or ⁇ nh .
  • n is not an integer
  • the exponential and logarithm functions can be used, by evaluating cos n ⁇ as e (n ln(cos ⁇ )) , but exponentiation is at least an order of magnitude slower than the operations required to compute the ambient and diffuse illumination terms.
  • a third prior art method of computing specular intensity is to replace the exponential specular intensity function with an alternate formula that invokes a similar visual impression of an illuminated object, however without exponentiation.
  • the algebraic function h(t,n) does not include exponents, but does include multiplication, addition, subtraction, and division operators. These algebraic operations are usually less costly than exponentiation. However, while the computation time has been reduced, in many computer architectures division is still the slowest of these operations.
  • an algebraic method is disclosed to compute the intensity of specularly reflected light from an object illuminated by a plurality of light sources.
  • the plurality of light sources include point light sources and extended light sources.
  • the algebraic expression includes multiplication, addition, and subtraction operators. The algebraic expression approximates the results of prior art models of specular reflection intensity, but at lower computational costs.
  • the algebraic expression for specular intensity is substituted into an illumination model, where the illumination model includes ambient, diffuse, and specular illumination terms.
  • the illumination model is incorporated into a software program, where the program computes a color vector c representing the color and intensity of light reflected by an object illuminated by a plurality of light sources.
  • the reflected light is composed of ambient, diffuse, and specular components.
  • the specular terms in the illumination model are equivalent in functional form to the diffuse terms, thereby providing an efficient and inexpensive means of computing the specular component of the color vector c. That is, a vector-based hardware system that computes and sums the ambient and diffuse terms can be used to compute and sum the ambient, diffuse, and specular terms at very little additional cost.
  • the first (k ⁇ 1) derivatives of the modified algebraic expression SM i,k (n,h i ,n) are continuous, and therefore by increasing the value of k, the modified algebraic expression more closely approximates the prior art specular intensity functions, but at a lower computational cost.
  • FIG. 1A of the prior art illustrates diffuse reflection from an object's surface
  • FIG. 1B of the prior art illustrates specular reflection from an object's surface
  • FIG. 2A of the prior art illustrates specular reflection from an object's surface in a preferred direction
  • FIG. 2B of the prior art illustrates another embodiment of specular reflection from an object's surface in a preferred direction
  • FIG. 3 is a block diagram of one embodiment of an electronic entertainment system in accordance with the invention.
  • FIG. 5 illustrates preferred directions of specular reflection for two orientations of a surface, according to the invention
  • FIG. 6 illustrates illumination of an object by a plurality of light sources, according to the invention
  • FIG. 7 illustrates one embodiment of color vector c in (R,G,B)-space, according to the invention
  • FIG. 3 is a block diagram of one embodiment of an electronic entertainment system 300 in accordance with the invention.
  • System 300 includes, but is not limited to, a main memory 310 , a central processing unit (CPU) 312 , a vector processing unit VPU 313 , a graphics processing unit (GPU) 314 , an input/output processor (IOP) 316 , an IOP memory 318 , a controller interface 320 , a memory card 322 , a Universal Serial Bus (USB) interface 324 , and an IEEE 1394 interface 326 .
  • CPU central processing unit
  • VPU vector processing unit
  • GPU graphics processing unit
  • IOP input/output processor
  • IOP input/output processor
  • System 300 also includes an operating system read-only memory (OS ROM) 328 , a sound processing unit (SPU) 332 , an optical disc control unit 334 , and a hard disc drive (HDD) 336 , which are connected via a bus 346 to IOP 316 .
  • OS ROM operating system read-only memory
  • SPU sound processing unit
  • HDD hard disc drive
  • CPU 312 , VPU 313 , GPU 314 , and IOP 316 communicate via a system bus 344 .
  • CPU 312 communicates with main memory 310 via a dedicated bus 342 .
  • VPU 313 and GPU 314 may also communicate via a dedicated bus 340 .
  • CPU 312 executes programs stored in OS ROM 328 and main memory 310 .
  • Main memory 310 may contain prestored programs and may also contain programs transferred via IOP 316 from a CD-ROM or DVD-ROM (not shown) using optical disc control unit 334 .
  • IOP 316 controls data exchanges between CPU 312 , VPU 313 , GPU 314 and other devices of system 300 , such as controller interface 320 .
  • Main memory 310 includes, but is not limited to, a program having game instructions including an illumination model.
  • the program is preferably loaded from a CD-ROM via optical disc control unit 334 into main memory 310 .
  • CPU 312 in conjunction with VPU 313 , GPU 314 , and SPU 332 , executes game instructions and generates rendering instructions using inputs received via controller interface 320 from a user. The user may also instruct CPU 312 to store certain game information on memory card 322 .
  • Other devices may be connected to system 300 via USB interface 324 and IEEE 1394 interface 326 .
  • VPU 313 executes instructions from CPU 312 to generate color vectors associated with an illuminated object by using the illumination model.
  • SPU 332 executes instructions from CPU 312 to produce sound signals that are output on an audio device (not shown).
  • GPU 314 executes rendering instructions from CPU 312 and VPU 313 to produce images for display on a display device (not shown). That is, GPU 314 , using the color vectors generated by VPU 313 and rendering instructions from CPU 312 , renders the illuminated object in an image.
  • the illumination model includes ambient, diffuse, and specular illumination terms.
  • specular terms are defined by substituting a specular intensity function into the illumination model.
  • the unit vector n 275 and the unit vector h 290 are described in conjunction with FIG. 2B , and n is the shininess parameter.
  • specular intensity function S does not include exponentiation nor does function S include a division.
  • FIG. 4A is a graph of the specular intensity function S(n,h,n) 410 according to the present invention, the second prior art specular intensity function g(n,h,n) 420 , and the third prior art specular intensity function h(n,h,n) 430 , plotted as functions of angle ⁇ nh 292 .
  • each curve is a continuous function of ⁇ nh .
  • FIG. 5 illustrates preferred directions of specular reflection for two orientations of a surface.
  • Unit vector l 505 points towards a light source 501 .
  • Light travels from the light source 501 along a unit vector ⁇ l 502 , and is reflected from point P 510 .
  • Unit vector v 515 points towards an observer (not shown).
  • Unit vector v 515 and unit vector l 505 are constant since source 401 and the observer (not shown) are stationary.
  • Given a first orientation of an object 520 with a unit vector n 1 525 normal to a surface 530 light directed along ⁇ l 502 is maximally specularly reflected along a unit vector r 1 535 .
  • Angle ⁇ 560 defines the region about unit vector v 515 in which the intensity of specularly reflected light measured by the observer located along unit vector v 515 is greater than 0.5. If object 520 is rotated such that unit vector r 1 535 is directed along unit vector v 515 , then the observer measures a maximum specular intensity of 1.0. If n is large, then the material is extremely shiny, ⁇ 560 is small, and the specularly reflected light is confined to a relatively narrow region about unit vector v 515 . If n is small, then the material is less shiny, ⁇ 560 is large, and the specularly reflected light is confined to a wider region about unit vector v 515 .
  • specular intensity function S properly models the shininess of an object as embodied in the shininess parameter n.
  • an additional advantage of the present invention's model for specularly reflected light intensity is the similarity in form of the specular terms to the ambient and diffuse terms in the illumination model.
  • a vector-based hardware system that computes and sums the ambient and diffuse terms can be used to compute and sum the ambient, diffuse, and specular terms at very little additional cost.
  • FIG. 6 illustrates illumination of an object by a plurality of light sources, including a unit vector l i 605 pointing towards an i th light source 610 , a unit vector n 615 normal to a surface 620 at a point of reflection P 625 , a unit vector v 630 pointing towards an observer 635 , a unit vector r i 640 pointing in the preferred specular reflection direction, and a unit vector h i 645 bisecting the angle ⁇ i 650 subtended by the unit vector l i 605 and the unit vector v 630 .
  • FIG. 6 includes a plurality of point light sources 655 and an extended light source 660 .
  • the extended light source 660 is composed of a plurality of point light sources 665 .
  • D i the diffuse intensity of point P 625 illuminated by the i th light source 610 , and detected by observer 635 .
  • specular intensity S i diffuse intensity
  • D i diffuse intensity
  • ambient light an illumination model for a resulting color vector c is defined.
  • the color vector c is a vector in (R,G,B)-space and is used to describe the resulting color and light intensity of an illuminated object viewed by an observer, due to specular, diffuse, and ambient light reflection.
  • FIG. 7 illustrates one embodiment of color vector c 705 in (R,G,B)-space, defined by a Cartesian coordinate system including a red (R) axis 710 , a green (G) axis 715 , and a blue (B) axis 720 .
  • Color vector c 705 has a component c R 725 along the R axis 710 , a component c G 730 along the G axis 715 , and a component c B 735 along the B axis 720 .
  • the value of the components c R 725 , c G 730 , and c B 735 of color vector c 705 determine the color of the reflected light, and the magnitude of color vector c 705 determines the intensity of the reflected light.
  • Vectors c a and c i are vectors in (R,G,B)-space. The summation symbol is used to sum the index i over all M light sources, and the symbol ⁇ circle around ( ⁇ ) ⁇ operates on two vectors to give the component-wise product of the two vectors.
  • the vector a includes an ambient color vector.
  • each term in the summation over i and j in the expression for the color vector c has the same form.
  • the specular illumination term max(n ⁇ u 2i , m 2i ) for the i th light source has the same functional form as the diffuse illumination term max(n ⁇ u 1i , m 1i ), and therefore, using vector-based computer hardware, such as VPU 313 of FIG. 3 , the vector dot products for the diffuse and specular terms can be evaluated in parallel, providing an efficient means of computing the specular terms.
  • very little overhead is needed to compute the specular and diffuse terms together.
  • summation is not a very costly operation, little overhead is needed to sum the specular and diffuse terms in computing the color vector c, since instead of summing M diffuse terms, a sum is made over M diffuse terms and M specular terms.
  • the additional cost introduced by the calculation of the specular and diffuse terms in comparison to the calculation of only the diffuse terms is very negligible, since the calculation of the specular and diffuse reflected light from every point on surface 620 of object 670 only involves a parallel computation of the vector dot products and a sumation of 2M diffuse and specular terms given M light sources.
  • the calculation does not involve a computation of variables u 1i , m 1i , c 1i , u 2i , m 2i , and c 1i at every point on surface 620 of object 670 for each light source i 610 .
  • the unit vector n 615 is the only component of the color equation that is variable over surface 620 of object 670 , and hence the calculation of the specular terms are “almost free” in comparison to the calculation of the diffuse terms alone.
  • a modified specular intensity function SM 2 (n,h,n) ⁇ S 2 (n,h,n/2) is defined according to the present invention.
  • Modified specular intensity function SM 2 (n,h,n) has a continuous first derivative.
  • the modified specular intensity function SM 2 (n,h,n) has discontinuous higher order derivatives.
  • the second order derivative is discontinuous.
  • Another modified specular intensity function according to the present invention, SM 3 (n,h,n) ⁇ S 3 (n,h,n/3), has continuous first and second order derivatives, but has discontinuous higher order derivatives.
  • the modified specular intensity function SM k (n,h,n) ⁇ S k (n,h,n/k) (1 ⁇ n/k+max ⁇ n ⁇ (n/k h), n/k ⁇ 1 ⁇ ) k of the present invention, where 2 ⁇ k ⁇ n, has continuous derivatives up to and including the (k ⁇ 1)th order derivative.
  • the modified function SM 2 (n,h,n) 800 has a continuous first-order derivative
  • the modified function SM 4 (n,h,n) 810 has continuous derivatives up to third-order
  • the modified function SM 8 (n,h,n) 820 has continuous derivatives up to seventh-order.
  • the computation of the prior art specular intensity function g(n,h,n) ⁇ cos 200 ⁇ nh requires exponentiation to the 200 th power, which is a more costly computation.
  • the program including the illumination model may be executed in part or in whole by the CPU, the VPU, the GPU, or a rendering engine (not shown).
  • the present invention may effectively be used in conjunction with systems other than the one described above as the preferred embodiment. Therefore, these and other variations upon the preferred embodiments are intended to be covered by the present invention, which is limited only by the appended claims.

Abstract

The intensity of specularly reflected light from an illuminated object is represented by an algebraic expression including multiplication, addition, and subtraction operations. The algebraic expression is used in an illumination model, where the illumination model describes the color and intensity of light reflected by the illuminated object. Light reflected by the illuminated object is composed of ambient, diffuse, and specular components. The specular terms used in the illumination model are equivalent in functional form to the diffuse terms, thereby accelerating the computation of color vector c defined by the illumination model. A modified algebraic expression representing specularly reflected light from an illuminated object is defined and used in the illumination model, thereby accelerating computation of color vector c.

Description

CROSS REFERENCE TO RELATED APPLICATION
This application is a continuation application and claims the priority benefit of U.S. patent application Ser. No. 09/935,123 entitled “Method for Computing the Intensity of Specularly Reflected Light” filed Aug. 21, 2001 and now U.S. Pat. No. 6,781,594. The disclosure of this commonly owned and assigned application is incorporated herein by reference.
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates generally to computer generated images and more particularly to a method for computing the intensity of specularly reflected light.
2. Description of the Background Art
The illumination of a computer-generated object by colored light sources and ambient light is described by an illumination model. The illumination model is a mathematical expression including ambient, diffuse, and specular illumination terms. The object is illuminated by the reflection of ambient light and the reflection of light source light from the surface of the object. Therefore, the illumination of the object is composed of ambient, diffuse, and specularly reflected light. Given ambient light and light sources positioned about the object, the illumination model defines the reflection properties of the object. The illumination model is considered to be accurate if the illuminated object appears realistic to an observer. Typically, the illumination model is incorporated in a program executed by a rendering engine, a vector processing unit, or a central processing unit (CPU). The program must be capable of computing the illumination of the object when the light sources change position with respect to the object, or when the observer views the illuminated object from a different angle, or when the object is rotated. Furthermore, an efficient illumination model is needed for the program to compute the illumination in real-time, for example, if the object is rotating. Therefore, it is desired to incorporate terms in the illumination model that are computationally cost effective, while at the same time generating an image of the illuminated object that is aesthetically pleasing to the observer.
Ambient light is generalized lighting not attributable to direct light rays from a specific light source. In the physical world, for example, ambient light is generated in a room by multiple reflections of overhead florescent light by the walls and objects in the room, providing an omni-directional distribution of light. The illumination of the object by ambient light is a function of the color of the ambient light and the reflection properties of the object.
The illumination of the object by diffuse and specular light depends upon the colors of the light sources, positions of the light sources, the reflection properties of the object, the orientation of the object, and the position of the observer. Source light is reflected diffusely from a point on the object's surface when the surface is rough, scattering light in all directions. Typically, the surface is considered rough when the scale length of the surface roughness is approximately the same or greater than the wavelength of the source light. FIG. 1A illustrates diffuse reflection from an object's surface. A light ray i 105 from a source 110 is incident upon a surface 115 at point P 120, where a bold character denotes a vector. Light ray i 105 is scattered diffusely about point P 120 into a plurality of light rays r 1 125, r 2 125, r 3 125, r 4 125, and r 5 125.
If the scale length of the surface roughness is much less than the wavelength of the source light, then the surface is considered smooth, and light is specularly reflected. Specularly reflected light is not scattered omni-directionally about a point on the object's surface, but instead is reflected in a preferred direction. FIG. 1B illustrates specular reflection from an object's surface. A light ray i 130 from a source 135 is incident upon a surface 140 at a point P 145. Light ray i 130 is specularly reflected about point P 145 into a plurality of light rays r 1 150, r 2 150, r 3 150, r 4 150, and r 5 155, confined within a cone 160 subtended by angle φ 165. Light ray r 155 is the preferred direction for specular reflection. That is, the intensity of specularly reflected light has a maximum along light ray r 155. As discussed further below in conjunction with FIGS. 2A–2B, the direction of preferred light ray r 155 is specified when the angle of reflection is equal to the angle of incidence.
Typically, objects reflect light diffusely and specularly, and in order to generate a realistic illumination of the computer-generated object that closely resembles the real physical object, both diffuse and specular reflections need to be considered.
FIG. 2A illustrates specular reflection from an object's surface in a preferred direction, including a unit vector l 205 pointing towards a light source 210, a unit vector n 215 normal to a surface 220 at a point of reflection P 225, a unit vector r 230 pointing in the preferred reflected light direction, a unit vector v 235 pointing towards an observer 240, an angle of incidence θ i 245 subtended by the unit vector l 205 and the unit vector n 215, an angle of reflection θ r 250 subtended by unit vector n 215 and the unit vector r 230, and an angle θ rv 255 subtended by unit vector r 230 and unit vector v 235. Light from the source 210 propagates in the direction of a unit vector −l 260, and is specularly reflected from the surface 220 at point P 225. A unit vector is a vector of unit magnitude.
Reflection of light from a perfectly smooth surface obeys Snell's law. Snell's law states that the angle of incidence θ i 245 is equal to the angle of reflection θ r 250. If surface 220 is a perfectly smooth surface, light from source 210 directed along the unit vector −l 260 at an angle of incidence θ i 245 is reflected at point P 225 along unit vector r 230 at an angle of reflection θ r 250, where θir. Consequently, if surface 220 is a perfectly smooth surface, then light directed along −l 260 from source 210 and specularly reflected at point P 225 would not be detected by observer 240, since specularly reflected light is directed only along unit vector r 230. However, a surface is never perfectly smooth, and light directed along −l 260 from source 210 and specularly reflected at point P 225 has a distribution about unit vector r 230, where unit vector r 230 points in the preferred direction of specularly reflected light. The preferred direction is specified by equating the angle of incidence θ i 245 with the angle of reflection θ r 250. In other words, specular reflection intensity as measured by observer 240 is a function of angle θ rv 255, having a maximum reflection intensity when θrv=0 and decreasing as θ rv 255 increases. That is, observer 240 viewing point P 225 of the surface 220 detects a maximum in the specular reflection intensity when unit vector v 235 is co-linear with unit vector r 230, but as observer 240 changes position and angle θ rv 235 increases, observer 240 detects decreasing specular reflection intensities.
A first prior art method for computing the intensity of specularly reflected light is to represent the specular intensity as f(r,v,n)∝(r·v)n, where 1≦n≦∞ and n is a parameter that describes the shininess of the object. Since r and v are unit vectors, the dot product r·v=cos θrv, and therefore, f(r,v,n)∝cos rv.
A second prior art method computes the intensity of specularly reflected light in an alternate manner. For example, FIG. 2B illustrates another embodiment of specular reflection from an object's surface in a preferred direction, including a unit vector l 265 pointing towards a light source 270, a unit vector n 275 normal to a surface 280 at a point of reflection P 282, a unit vector r 284 pointing in the preferred reflected light direction, a unit vector v 286 pointing towards an observer 288, a unit vector h 290 bisecting the angle subtended by the unit vector l 265 and the unit vector v 286, an angle of incidence θ i 294, an angle of reflection θ r 290, and an angle θ nh 292 subtended by the unit vector h 290 and the unit vector n 275. Light from the source 270 propagates in the direction of a unit vector −l 272. The angle of incidence θ i 294 is equal to the angle of reflection θ r 290. The specular intensity is represented as g(n,h,n)∝(n·h)n, where 1≦n≦∞ and n is a parameter that describes the shininess of the object. Since n and h are unit vectors, the dot product n·h=cos θnh, and therefore, g(n,h,n)∝cosn θnh. When the surface 280 is rotated such that unit vector n 275 is co-linear with unit vector h 290, then cos θnh=1, the specular intensity g(n,h,n) is at a maximum, and therefore the observer 288 detects a maximum in the specularly reflected light intensity. The second prior art method for computing the intensity of specular reflection has an advantage over the first prior art method in that the second prior art method more closely agrees with empirical specular reflection data.
The first and second prior art methods for computing the intensity of specularly reflected light are computationally expensive compared to the calculation of the diffuse and ambient terms that make up the remainder of the illumination model. Specular intensity as defined by the prior art is proportional to cosn θ, where θ≡θrv or θ≡θnh. The exponential specular intensity function cosn θ can be evaluated for integer n, using n−1 repeated multiplications, but this is impractical since a typical value of n can easily exceed 100. If the exponent n is equal to a power of two, for example n=2m, then the specular intensity may be calculated by m successive squarings. However, the evaluation of specular intensity is still cost prohibitive. If n is not an integer, then the exponential and logarithm functions can be used, by evaluating cosn θ as e(n ln(cos θ)), but exponentiation is at least an order of magnitude slower than the operations required to compute the ambient and diffuse illumination terms.
A third prior art method of computing specular intensity is to replace the exponential specular intensity function with an alternate formula that invokes a similar visual impression of an illuminated object, however without exponentiation. Specular intensity is modeled by an algebraic function h(t,n)=t /(n−nt+t), where either t=cos θrv or t=cos θnh, and n is a parameter that describes the shininess of the object. The algebraic function h(t,n) does not include exponents, but does include multiplication, addition, subtraction, and division operators. These algebraic operations are usually less costly than exponentiation. However, while the computation time has been reduced, in many computer architectures division is still the slowest of these operations.
It would be useful to implement a cost effective method of calculating specular intensity that puts the computation of the specular term on a more even footing with the computation of the ambient and diffuse terms, while providing a model of specular reflection that is aesthetically pleasing to the observer.
SUMMARY OF THE INVENTION
In accordance with the present invention, an algebraic method is disclosed to compute the intensity of specularly reflected light from an object illuminated by a plurality of light sources. The plurality of light sources include point light sources and extended light sources. The algebraic expression Si(n,hi,n)=1−n+max{n·(nhi), n−1} represents the intensity of light reflected from a point on the object as measured by an observer, the object illuminated by an ith light source. The algebraic expression includes multiplication, addition, and subtraction operators. The algebraic expression approximates the results of prior art models of specular reflection intensity, but at lower computational costs.
The algebraic expression for specular intensity is substituted into an illumination model, where the illumination model includes ambient, diffuse, and specular illumination terms. The illumination model is incorporated into a software program, where the program computes a color vector c representing the color and intensity of light reflected by an object illuminated by a plurality of light sources. The reflected light is composed of ambient, diffuse, and specular components. The specular terms in the illumination model are equivalent in functional form to the diffuse terms, thereby providing an efficient and inexpensive means of computing the specular component of the color vector c. That is, a vector-based hardware system that computes and sums the ambient and diffuse terms can be used to compute and sum the ambient, diffuse, and specular terms at very little additional cost.
A modified algebraic expression SMi,k(n,hi,n)=(1−n/k+max{n·(n/k hi), n/k−1})k represents the intensity of light reflected from a point on the object, where the object is illuminated by the ith light source, and 2≦k≦n. The first (k−1) derivatives of the modified algebraic expression SMi,k(n,hi,n) are continuous, and therefore by increasing the value of k, the modified algebraic expression more closely approximates the prior art specular intensity functions, but at a lower computational cost.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1A of the prior art illustrates diffuse reflection from an object's surface;
FIG. 1B of the prior art illustrates specular reflection from an object's surface;
FIG. 2A of the prior art illustrates specular reflection from an object's surface in a preferred direction;
FIG. 2B of the prior art illustrates another embodiment of specular reflection from an object's surface in a preferred direction;
FIG. 3 is a block diagram of one embodiment of an electronic entertainment system in accordance with the invention;
FIG. 4A is a graph of the specular intensity function S(n,h,n) according to the invention, the specular intensity function g(n,h,n) of the prior art, and the specular intensity function h(n,h,n) of the prior art, for n=3;
FIG. 4B is a graph of the specular intensity function S(n,h,n) according to the invention, the specular intensity function g(n,h,n) of the prior art, and the specular intensity function h(n,h,n) of the prior art, for n=10;
FIG. 4C is a graph of the specular intensity function S(n,h,n) according to the invention, the specular intensity function g(n,h,n) of the prior art, and the specular intensity function h(n,h,n) of the prior art, for n=50;
FIG. 4D is a graph of the specular intensity function S(n,h,n) according to the invention, the specular intensity function g(n,h,n) of the prior art, and the specular intensity function h(n,h,n) of the prior art, for n=200;
FIG. 5 illustrates preferred directions of specular reflection for two orientations of a surface, according to the invention;
FIG. 6 illustrates illumination of an object by a plurality of light sources, according to the invention;
FIG. 7 illustrates one embodiment of color vector c in (R,G,B)-space, according to the invention;
FIG. 8A is a graph of the prior art specular intensity function g(n,h,n), the specular intensity function S(n,h,n) according to the invention, and the modified specular intensity function SM2(n,h,n) according to the invention, for n=3;
FIG. 8B is a graph of the prior art specular intensity function g(n,h,n), the specular intensity function S(n,h,n) according to the invention, the modified specular intensity function SM2(n,h,n) according to the invention, the modified specular intensity function SM4(n,h,n) according to the invention, and the modified specular intensity function SM8(n,h,n) according to the invention, for n=10;
FIG. 8C is a graph of the prior art specular intensity function g(n,h,n), the specular intensity function S(n,h,n) according to the invention, the modified specular intensity function SM2(n,h,n) according to the invention, the modified specular intensity function SM4(n,h,n) according to the invention, and the modified specular intensity function SM8(n,h,n) according to the invention, for n=50; and
FIG. 8D is a graph of the prior art specular intensity function g(n,h,n), the specular intensity function S(n,h,n) according to the invention, the modified specular intensity function SM2(n,h,n) according to the invention, the modified specular intensity function SM4(n,h,n) according to the invention, and the modified specular intensity function SM8(n,h,n) according to the invention, for n=200;
DETAILED DESCRIPTION OF THE DRAWINGS
FIG. 3 is a block diagram of one embodiment of an electronic entertainment system 300 in accordance with the invention. System 300 includes, but is not limited to, a main memory 310, a central processing unit (CPU) 312, a vector processing unit VPU 313, a graphics processing unit (GPU) 314, an input/output processor (IOP) 316, an IOP memory 318, a controller interface 320, a memory card 322, a Universal Serial Bus (USB) interface 324, and an IEEE 1394 interface 326. System 300 also includes an operating system read-only memory (OS ROM) 328, a sound processing unit (SPU) 332, an optical disc control unit 334, and a hard disc drive (HDD) 336, which are connected via a bus 346 to IOP 316.
CPU 312, VPU 313, GPU 314, and IOP 316 communicate via a system bus 344. CPU 312 communicates with main memory 310 via a dedicated bus 342. VPU 313 and GPU 314 may also communicate via a dedicated bus 340.
CPU 312 executes programs stored in OS ROM 328 and main memory 310. Main memory 310 may contain prestored programs and may also contain programs transferred via IOP 316 from a CD-ROM or DVD-ROM (not shown) using optical disc control unit 334. IOP 316 controls data exchanges between CPU 312, VPU 313, GPU 314 and other devices of system 300, such as controller interface 320.
Main memory 310 includes, but is not limited to, a program having game instructions including an illumination model. The program is preferably loaded from a CD-ROM via optical disc control unit 334 into main memory 310. CPU 312, in conjunction with VPU 313, GPU 314, and SPU 332, executes game instructions and generates rendering instructions using inputs received via controller interface 320 from a user. The user may also instruct CPU 312 to store certain game information on memory card 322. Other devices may be connected to system 300 via USB interface 324 and IEEE 1394 interface 326.
VPU 313 executes instructions from CPU 312 to generate color vectors associated with an illuminated object by using the illumination model. SPU 332 executes instructions from CPU 312 to produce sound signals that are output on an audio device (not shown). GPU 314 executes rendering instructions from CPU 312 and VPU 313 to produce images for display on a display device (not shown). That is, GPU 314, using the color vectors generated by VPU 313 and rendering instructions from CPU 312, renders the illuminated object in an image.
The illumination model includes ambient, diffuse, and specular illumination terms. The specular terms are defined by substituting a specular intensity function into the illumination model. In the present invention, specular intensity is modeled by the function S, where S(n,h,n)=1−n+max{n·(nh), n−1} and the function max{n·(nh), n−1} selects the maximum of n·(nh) and n−1. The unit vector n 275 and the unit vector h 290 are described in conjunction with FIG. 2B, and n is the shininess parameter. When unit vector n 275 is co-linear with unit vector h 290 and θnh=0, max{n·(nh), n−1}=max{n, n−1}=n, and S(n,h,n)=(1−n)+n=1. In other words, S is at a maximum when unit vector n 275 is co-linear with unit vector h 290. However, when unit vector n 275 is not co-linear with unit vector h 290 and when the condition n·(nh)≦n−1 is satisfied, then max{n·(nh), n−1}=n−1, and S(n,h,n)=(1−n)+(n−1)=0. In other words, S(n,h,n)=0 when n·(nh)≦n−1. Since n·(nh)=n(cos θnh), S(n,h,n)=0 when cos θnh≦1−1/n. That is, S(n,h,n)=0 for θnh≧|arcos(1−1/n)| and for θnh≦−|arcos(1−1/n)|, where the function |(arg)| generates the absolute value of the argument (arg). In contrast to the prior art specular intensity functions, specular intensity function S does not include exponentiation nor does function S include a division. Therefore, computing function S is less costly than computing the prior art specular intensity functions. In addition, the graph of function S is similar to the prior art specular intensity functions, thereby providing a reasonable model for specular reflection. For example, FIG. 4A is a graph of the specular intensity function S(n,h,n) 410 according to the present invention, the second prior art specular intensity function g(n,h,n) 420, and the third prior art specular intensity function h(n,h,n) 430, plotted as functions of angle θ nh 292. The shininess parameter n=3. All curves have maximum specular intensity when θnh=0. The maximum specular intensity of each curve is equal to 1.0, and the minimum specular intensity of each curve is equal to zero. In addition, each curve is a continuous function of θnh. FIG. 4B is a graph of the functions S(n,h,n) 410, g(n,h,n) 420, and h(n,h,n) 430 for n=10, FIG. 4C is a graph of the functions for n=50, and FIG. 4D is a graph of the functions for n=200. Note that as the shininess parameter n increases, the width of each function decreases, where the width of each function can be measured at a specular intensity value of 0.5, for example. The relation between the width of the specular intensity function and the shininess parameter n is explained further below in conjunction with FIG. 5.
FIG. 5 illustrates preferred directions of specular reflection for two orientations of a surface. Unit vector l 505 points towards a light source 501. Light travels from the light source 501 along a unit vector −l 502, and is reflected from point P 510. Unit vector v 515 points towards an observer (not shown). Unit vector v 515 and unit vector l 505 are constant since source 401 and the observer (not shown) are stationary. Given a first orientation of an object 520 with a unit vector n 1 525 normal to a surface 530, light directed along −l 502 is maximally specularly reflected along a unit vector r 1 535. Given a second orientation of the object 540 with a unit vector n 2 545 normal to a surface 550, light directed along −l 502 is maximally specularly reflected along a unit vector r 2 555. Angle φ560 defines the region about unit vector v 515 in which the intensity of specularly reflected light measured by the observer located along unit vector v 515 is greater than 0.5. If object 520 is rotated such that unit vector r 1 535 is directed along unit vector v 515, then the observer measures a maximum specular intensity of 1.0. If n is large, then the material is extremely shiny, φ560 is small, and the specularly reflected light is confined to a relatively narrow region about unit vector v 515. If n is small, then the material is less shiny, φ560 is large, and the specularly reflected light is confined to a wider region about unit vector v 515.
Therefore, specular intensity function S according to the present invention properly models the shininess of an object as embodied in the shininess parameter n.
As will be discussed further below in conjunction with FIG. 7, an additional advantage of the present invention's model for specularly reflected light intensity is the similarity in form of the specular terms to the ambient and diffuse terms in the illumination model. Thus, a vector-based hardware system that computes and sums the ambient and diffuse terms can be used to compute and sum the ambient, diffuse, and specular terms at very little additional cost.
FIG. 6 illustrates illumination of an object by a plurality of light sources, including a unit vector l i 605 pointing towards an ith light source 610, a unit vector n 615 normal to a surface 620 at a point of reflection P 625, a unit vector v 630 pointing towards an observer 635, a unit vector r i 640 pointing in the preferred specular reflection direction, and a unit vector h i 645 bisecting the angle φ i 650 subtended by the unit vector l i 605 and the unit vector v 630. In addition, FIG. 6 includes a plurality of point light sources 655 and an extended light source 660. Only one extended light source 660 is shown, although the scope of the invention encompasses a plurality of extended light sources. The extended light source 660 is composed of a plurality of point light sources 665. Specular intensity is modeled by a function Si=1−n+max{n·(nhi), n−1}, according to the present invention, where Si is the specular intensity of point P 625 illuminated by the ith light source 610, and detected by the observer 635.
Diffuse intensity is modeled by the function Di=max{n·li0} of the prior art, where Di is the diffuse intensity of point P 625 illuminated by the ith light source 610, and detected by observer 635. Given specular intensity Si, diffuse intensity Di, and ambient light, an illumination model for a resulting color vector c is defined. The color vector c is a vector in (R,G,B)-space and is used to describe the resulting color and light intensity of an illuminated object viewed by an observer, due to specular, diffuse, and ambient light reflection.
FIG. 7 illustrates one embodiment of color vector c 705 in (R,G,B)-space, defined by a Cartesian coordinate system including a red (R) axis 710, a green (G) axis 715, and a blue (B) axis 720. Color vector c 705 has a component c R 725 along the R axis 710, a component c G 730 along the G axis 715, and a component c B 735 along the B axis 720. The value of the components c R 725, c G 730, and c B 735 of color vector c 705 determine the color of the reflected light, and the magnitude of color vector c 705 determines the intensity of the reflected light.
Given M light sources, the equation for color vector c 705 of the present invention is written as
c = k d ( c a + i = 1 M D i c i ) + k s i = 1 M S i c i ,
where kd, ks are diffuse and specular reflection coefficient vectors, respectively, ca is the color of the ambient light, and ci is the color of the ith light source 610. Vectors ca and ci are vectors in (R,G,B)-space. The summation symbol is used to sum the index i over all M light sources, and the symbol {circle around (×)} operates on two vectors to give the component-wise product of the two vectors.
Substituting the diffuse intensity Di and the specular intensity Si into the equation for color vector c, and rearranging terms, the equation can be written as
c = a + j = 1 2 i = 1 M max ( n · u ji , m ji ) c ji .
The vector a includes an ambient color vector. The sum over index i for j=1 is a summation over all the diffuse color vectors generated by the M light sources, and the sum over index i for j=2 is a summation over all the specular color vectors generated by the M light sources. For example, u1i=li, m1i=0, and c1i=kd{circle around (×)}ci are the diffuse terms that generate the diffuse color vector for the ith light source, and u2i=nhi, m2i=n−1, and c2i=ks{circle around (×)}ci are the specular terms that generate the specular color vector for the ith light source.
Each term in the summation over i and j in the expression for the color vector c has the same form. In other words, the specular illumination term max(n·u2i, m2i) for the ith light source has the same functional form as the diffuse illumination term max(n·u1i, m1i), and therefore, using vector-based computer hardware, such as VPU 313 of FIG. 3, the vector dot products for the diffuse and specular terms can be evaluated in parallel, providing an efficient means of computing the specular terms. Compared to the computation of the diffuse terms alone, very little overhead is needed to compute the specular and diffuse terms together. In addition, since summation is not a very costly operation, little overhead is needed to sum the specular and diffuse terms in computing the color vector c, since instead of summing M diffuse terms, a sum is made over M diffuse terms and M specular terms.
In addition, if for each light source i 610, the light source direction vector l i 605, the observer vector v 630, the shininess index n, the color of the light ci, and the diffuse and specular reflection coefficients kd, ks, respectively, are constant over surface 620 of object 670, which is a valid assumption for certain circumstances such as when light source i 610 and observer 635 are placed far from object 670, then variables u1i, m1i, c1i, u2i, m2i, and c2i only need to be calculated once for each light source i 610. Consequently, the additional cost introduced by the calculation of the specular and diffuse terms in comparison to the calculation of only the diffuse terms is very negligible, since the calculation of the specular and diffuse reflected light from every point on surface 620 of object 670 only involves a parallel computation of the vector dot products and a sumation of 2M diffuse and specular terms given M light sources. The calculation does not involve a computation of variables u1i, m1i, c1i, u2i, m2i, and c1i at every point on surface 620 of object 670 for each light source i 610. In other words, for a given light source i 610, the unit vector n 615 is the only component of the color equation that is variable over surface 620 of object 670, and hence the calculation of the specular terms are “almost free” in comparison to the calculation of the diffuse terms alone.
As illustrated in FIGS. 4A–4D, specular intensity function S(n,h,n) 410 of the present invention is not continuous in the first derivative. That is, there is a discontinuity in the first derivative of S with respect to θnh when S=0. Since S=1−n+max{n·nh, n−1), the discontinuity occurs when n·nh=n−1, or when cos θnh=1−1/n. For example, referring to FIG. 4A, the discontinuity in the first derivative of S with respect to θnh for n=3 occurs when cos θnh=1−1/3, or in other words, when θnh=∓48.2 degrees. In order to more closely approximate the prior art specular intensity function g(n,h,n) 420, a modified specular intensity function SM2(n,h,n)≡S2(n,h,n/2) is defined according to the present invention. Modified specular intensity function SM2(n,h,n) has a continuous first derivative. However, the modified specular intensity function SM2(n,h,n) has discontinuous higher order derivatives. For example, the second order derivative is discontinuous. Another modified specular intensity function according to the present invention, SM3(n,h,n)≡S3(n,h,n/3), has continuous first and second order derivatives, but has discontinuous higher order derivatives. In fact, the modified specular intensity function SMk(n,h,n)≡Sk(n,h,n/k)=(1−n/k+max{n·(n/k h), n/k−1})k of the present invention, where 2≦k≦n, has continuous derivatives up to and including the (k−1)th order derivative. For k=n, the modified specular intensity function SMn(n,h,n)=max{n·h, 0}n=cosn θnh, and is equivalent to the prior art specular intensity function g(n,h,n) 420. Therefore, the modified specular intensity function SMk(n,h,n) according to the present invention, where 2≦k≦n, can more closely approximate the prior art specular intensity function g(n,h,n) 420 by increasing the value of k.
Referring to FIG. 6, the modified specular intensity function is defined for an object illuminated by a plurality of light sources, where SMi,k(n,hi,n)=(1−n/k+max{n·(n/k hi), n/k−1})k is the modified specular intensity function for the object 670 illuminated by the ith light source 610.
FIG. 8A is a graph of the prior art specular intensity function g(n,h,n) 420, the specular intensity function S(n,h,n) 410 of the present invention, and the modified specular intensity function SM2(n,h,n) 800 of the present invention, for parameter n=3. Similarly, each of FIGS. 8B-8D is a graph of the prior art specular intensity function g(n,h,n) 420, the specular intensity function S(n,h,n) 410 of the present invention, the modified specular intensity function SM2(n,h,n) 800 of the present invention, the modified specular intensity function SM4(n,h,n) 810 of the present invention, and the modified specular intensity function SM8(n,h,n) 820 of the present invention, where n=10 in FIG. 8B, n=50 in FIG. 8C, and n=200 in FIG. 8D. Each of FIGS. 8A–8D illustrate that as the parameter k of the modified specular intensity function SMk(n,h,n) increases, the graph of function SMk(n,h,n) approaches the graph of the prior art specular intensity function g(n,h,n) 420. In addition, the modified function SM2(n,h,n) 800 has a continuous first-order derivative, the modified function SM4(n,h,n) 810 has continuous derivatives up to third-order, and the modified function SM8(n,h,n) 820 has continuous derivatives up to seventh-order. Therefore, the modified specular intensity function SMk(n,h,n) can be used to more closely approximate the prior art specular intensity function g(n,h,n) 420, however, at a lower cost than computing the prior art specular intensity function g(n,h,n) 420. That is, SMk(n,h,n) can be evaluated inexpensively when k is a small power of 2, by successive multiplications. As FIG. 8D illustrates for n=200, a good approximation to the prior art specular intensity function g(n,h,n)∝cos200 θnh is achieved by using the modified specular intensity function SM8(n,h,n) 820 according to the present invention. SM8(n,h,n) 820 can be computed with three successive multiplications. For example, SM8(n,h,n)=f2(n,h,n/8)×f2(n,h,n/8), where f2(n,h,n/8)=f1(n,h,n/8)×f1(n,h,n/8), and where f1(n,h,n/8)=S(n,h,n/8)×S(n,h,n/8). In contrast, the computation of the prior art specular intensity function g(n,h,n)∝cos200 θnh requires exponentiation to the 200th power, which is a more costly computation.
The invention has been explained above with reference to preferred embodiments. Other embodiments will be apparent to those skilled in the art in light of this disclosure. The present invention may readily be implemented using configurations other than those described in the preferred embodiments above. For example, the program including the illumination model, according to the invention, may be executed in part or in whole by the CPU, the VPU, the GPU, or a rendering engine (not shown). Additionally, the present invention may effectively be used in conjunction with systems other than the one described above as the preferred embodiment. Therefore, these and other variations upon the preferred embodiments are intended to be covered by the present invention, which is limited only by the appended claims.

Claims (20)

1. A method for computing the intensity of specularly reflected light, comprising the steps of:
representing the intensity of light reflected specularly from an object illuminated by a plurality of light sources by an algebraic expression, wherein the algebraic expression is Si (n,hi,n)=1−n+max{n·(nhi), n−1}, which describes the intensity of light reflected from a point on the object as measured by an observer, the object illuminated by light from an ith light source, where n is a unit vector normal to the object at the point of reflection, hi is a unit vector bisecting an angle subtended by a unit vector pointing towards the ith light source from the point of reflection and a unit vector pointing towards the observer from the point of reflection, and n is a parameter that describes the shininess of the object;
incorporating the algebraic expression into an illumination model for the illumination of the object, the model having at least specular illumination terms and diffuse illumination terms; and
expressing the specular illumination terms of the illumination model in the same functional form as other terms of the illumination model, wherein the specular illumination terms and the diffuse illumination terms are evaluated substantially in parallel.
2. The method of claim 1, wherein the algebraic expression does not include division or exponentiation operators.
3. The method of claim 1, wherein the plurality of light sources includes extended light sources and point light sources.
4. The method of claim 1, wherein the illumination model describes the color and intensity of light reflected from the object illuminated by the ith light source, the reflected light including specular, diffuse, and ambient components.
5. The method of claim 4, wherein the other terms of the illumination model further comprise ambient terms.
6. The method of claim 1, wherein the specular illumination terms of the illumination model are expressed in the same functional form as the diffuse illumination terms of the illumination model.
7. A method for computing the intensity of specularly reflected light, comprising the steps of:
representing the intensity of light reflected specularly from an object illuminated by a plurality of light sources by an algebraic expression, wherein the algebraic expression is SMi,k(n,hi,n)=(1−n/k+max{n·(n/k hi), n/k−1})k, which describes the intensity of light reflected from a point on the object as measured by an observer, the object illuminated by light from an ith light source, where n is a unit vector normal to the object at the point of reflection, hi is a unit vector bisecting an angle subtended by a unit vector pointing towards the ith light source from the point of reflection and a unit vector pointing towards the observer from the point of reflection, n is a parameter that describes the shininess of the object, and k is a parameter that determines which derivatives of the algebraic expression are continuous;
incorporating the algebraic expression into an illumination model for the illumination of the object, the model having at least specular illumination terms and diffuse illumination terms; and
expressing the specular illumination terms of the illumination model in the same functional form as other terms of the illumination model, wherein the specular illumination terms and the diffuse illumination terms are evaluated substantially in parallel.
8. The method of claim 7, wherein 2≦k≦n.
9. A computer-readable medium comprising instructions for computing the intensity of specularly reflected light by performing the steps of:
representing the intensity of light reflected specularly from an object illuminated by a plurality of light sources by an algebraic expression, wherein the algebraic expression is Si(n,hi,n)=1−n+max{n·(nhi), n−1}, which describes the intensity of light reflected from a point on the object as measured by an observer, the object illuminated by light from an ith light source, where n is a unit vector normal to the object at the point of reflection, hi is a unit vector bisecting an angle subtended by a unit vector pointing towards the ith light source from the point of reflection and a unit vector pointing towards the observer from the point of reflection, and n is a parameter that describes the shininess of the object;
incorporating the algebraic expression into an illumination model for the illumination of the object, the model having at least specular illumination terms and diffuse illumination terms; and
expressing the specular illumination terms of the illumination model in the same functional form as other terms of the illumination model, wherein the specular illumination terms and a diffuse terms are evaluated substantially in parallel.
10. The computer-readable medium of claim 9, wherein the algebraic expression does not include division or exponentiation operators.
11. The computer-readable medium of claim 9, wherein the plurality of light sources includes extended light sources and point light sources.
12. The computer-readable medium of claim 9, wherein the illumination model describes the color and intensity of light reflected from the object illuminated by the ith light source, the reflected light including specular, diffuse, and ambient components.
13. The computer-readable medium of claim 12, wherein the other terms of the illumination model further comprise ambient terms.
14. The computer-readable medium of claim 9, wherein the specular illumination terms of the illumination model are expressed in the same functional form as the diffuse illumination terms of the illumination model.
15. A computer-readable medium comprising instructions for computing the intensity of specularly reflected light by performing the steps of:
representing the intensity of light reflected specularly from an object illuminated by a plurality of light sources by an algebraic expression, wherein the algebraic expression is SMi,k(n,hi,n)=(1−n/k+max{n·(n/k hi), n/k−1})k , which describes the intensity of light reflected from a point on the object as measured by an observer, the object illuminated by light from an ith light source, where n is a unit vector normal to the object at the point of reflection, hi is a unit vector bisecting an angle subtended by a unit vector pointing towards the ith light source from the point of reflection and a unit vector pointing towards the observer from the point of reflection, n is a parameter that describes the shininess of the object, and k is a parameter that determines which derivatives of the algebraic expression are continuous;
incorporating the algebraic expression into an illumination model for the illumination of the object, the model having at least specular illumination terms and diffuse illumination terms; and
expressing the specular illumination terms of the illumination model in the same functional form as other terms of the illumination model, wherein the specular illumination terms and a diffuse terms are evaluated substantially in parallel.
16. The computer-readable medium of claim 15, wherein 2≦k≦n.
17. An electronic entertainment system for computing the illumination of an object by a plurality of light sources, comprising:
a memory configured to store game instructions and an illumination model;
a processor configured to execute game instructions and generate rendering instructions;
a vector processor configured to calculate color vectors using the illumination model, the illumination model having specular illumination terms and diffuse illumination terms expressed in the same functional form, wherein the vector processor evaluates vector dot products for the diffuse and specular illumination terms substantially in parallel; and
a graphics processor configured to render the illuminated object in an image using the color vectors according to the rendering instructions,
wherein for each light source i, an algebraic expression representing the intensity of light reflected specularly from a point on the object and detected by an observer is substituted into the illumination model yielding a specular illumination term for the light source i, wherein the algebraic expression for light source i is Si(n,hi,n)=1−n+max{n·(nhi), n−1}, where n is a unit vector normal to the object at the point of reflection, hi is a unit vector bisecting an angle subtended by a unit vector pointing towards light source i from the point of reflection and a unit vector pointing towards the observer from the point of reflection and n is a parameter that describes the shininess of the object.
18. The electronic entertainment system of claim 17, wherein the algebraic expression does not contain division or exponentiation operators.
19. An electronic entertainment system for computing the illumination of an object by a plurality of light sources, comprising:
a memory configured to store game instructions and an illumination model;
a processor configured to execute game instructions and generate rendering instructions;
a vector processor configured to calculate color vectors using the illumination model, the illumination model having specular illumination terms and diffuse illumination terms expressed in the same functional form, wherein the vector processor evaluates vector dot products for the diffuse and specular illumination terms substantially in parallel; and
a graphics processor configured to render the illuminated object in an image using the color vectors according to the rendering instructions,
wherein for each light source i, an algebraic expression representing the intensity of light reflected specularly from a point on the object and detected by an observer is substituted into the illumination model yielding a specular illumination term for the light source i, wherein the algebraic expression for light source i is SMi,k(n,hi,n)=(1−n/k+max{n·(n/k hi), n/k−1})k, where k is a parameter that determines which derivatives of the algebraic expression are continuous, n is a unit vector normal to the object at the point of reflection, hi is a unit vector bisecting an angle subtended by a unit vector pointing towards light source i from the point of reflection and a unit vector pointing towards the observer from the point of reflection, and n is a parameter that describes the shininess of the object.
20. The electronic entertainment system of claim 19, wherein 2≦k≦n.
US10/901,840 2001-08-21 2004-07-28 Method for computing the intensity of specularly reflected light Expired - Lifetime US7079138B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10/901,840 US7079138B2 (en) 2001-08-21 2004-07-28 Method for computing the intensity of specularly reflected light
US11/442,226 US20060214943A1 (en) 2001-08-21 2006-05-26 Computing the intensity of specularly reflected light

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/935,123 US6781594B2 (en) 2001-08-21 2001-08-21 Method for computing the intensity of specularly reflected light
US10/901,840 US7079138B2 (en) 2001-08-21 2004-07-28 Method for computing the intensity of specularly reflected light

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/935,123 Continuation US6781594B2 (en) 2001-08-21 2001-08-21 Method for computing the intensity of specularly reflected light

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/442,226 Continuation US20060214943A1 (en) 2001-08-21 2006-05-26 Computing the intensity of specularly reflected light

Publications (2)

Publication Number Publication Date
US20050001836A1 US20050001836A1 (en) 2005-01-06
US7079138B2 true US7079138B2 (en) 2006-07-18

Family

ID=25466610

Family Applications (3)

Application Number Title Priority Date Filing Date
US09/935,123 Expired - Lifetime US6781594B2 (en) 2001-08-21 2001-08-21 Method for computing the intensity of specularly reflected light
US10/901,840 Expired - Lifetime US7079138B2 (en) 2001-08-21 2004-07-28 Method for computing the intensity of specularly reflected light
US11/442,226 Abandoned US20060214943A1 (en) 2001-08-21 2006-05-26 Computing the intensity of specularly reflected light

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/935,123 Expired - Lifetime US6781594B2 (en) 2001-08-21 2001-08-21 Method for computing the intensity of specularly reflected light

Family Applications After (1)

Application Number Title Priority Date Filing Date
US11/442,226 Abandoned US20060214943A1 (en) 2001-08-21 2006-05-26 Computing the intensity of specularly reflected light

Country Status (7)

Country Link
US (3) US6781594B2 (en)
EP (1) EP1419481B1 (en)
JP (1) JP3971380B2 (en)
AU (1) AU2002331631A1 (en)
DE (1) DE60235994D1 (en)
TW (1) TW561448B (en)
WO (1) WO2003017200A2 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060001674A1 (en) * 2001-10-10 2006-01-05 Sony Computer Entertainment America Inc. Environment mapping
US20060214943A1 (en) * 2001-08-21 2006-09-28 Sony Computer Entertainment America Inc. Computing the intensity of specularly reflected light
US8133115B2 (en) 2003-10-22 2012-03-13 Sony Computer Entertainment America Llc System and method for recording and displaying a graphical path in a video game
US8204272B2 (en) 2006-05-04 2012-06-19 Sony Computer Entertainment Inc. Lighting control of a user environment via a display device
US8243089B2 (en) 2006-05-04 2012-08-14 Sony Computer Entertainment Inc. Implementing lighting control of a user environment
US8284310B2 (en) 2005-06-22 2012-10-09 Sony Computer Entertainment America Llc Delay matching in audio/video systems
US8289325B2 (en) 2004-10-06 2012-10-16 Sony Computer Entertainment America Llc Multi-pass shading
US9342817B2 (en) 2011-07-07 2016-05-17 Sony Interactive Entertainment LLC Auto-creating groups for sharing photos
US20160239998A1 (en) * 2015-02-16 2016-08-18 Thomson Licensing Device and method for estimating a glossy part of radiation
US10786736B2 (en) 2010-05-11 2020-09-29 Sony Interactive Entertainment LLC Placement of user information in a game space

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7916124B1 (en) * 2001-06-20 2011-03-29 Leapfrog Enterprises, Inc. Interactive apparatus using print media
US20040150822A1 (en) * 2003-01-30 2004-08-05 Samsung Electronics Co., Ltd. Soldering inspection apparatus
US7006090B2 (en) * 2003-02-07 2006-02-28 Crytek Gmbh Method and computer program product for lighting a computer graphics image and a computer
KR101205252B1 (en) * 2008-10-21 2012-11-28 다이니폰 인사츠 가부시키가이샤 Optical sheet
US8294713B1 (en) * 2009-03-23 2012-10-23 Adobe Systems Incorporated Method and apparatus for illuminating objects in 3-D computer graphics
WO2015094298A1 (en) 2013-12-19 2015-06-25 Intel Corporation Bowl-shaped imaging system

Citations (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4241341A (en) 1979-03-05 1980-12-23 Thorson Mark R Apparatus for scan conversion
US4361850A (en) 1978-07-13 1982-11-30 Sanyo Electric Co., Ltd. Color television receiver with character display function
US4646075A (en) 1983-11-03 1987-02-24 Robert Bosch Corporation System and method for a data processing pipeline
US4658247A (en) 1984-07-30 1987-04-14 Cornell Research Foundation, Inc. Pipelined, line buffered real-time color graphics display system
US4709231A (en) 1984-09-14 1987-11-24 Hitachi, Ltd. Shading apparatus for displaying three dimensional objects
US4737921A (en) 1985-06-03 1988-04-12 Dynamic Digital Displays, Inc. Three dimensional medical image display system
US4817005A (en) * 1985-07-05 1989-03-28 Dai Nippon Insatsu Kabushiki Kaisha Method of designing cubic receptacle and apparatus therefor
US4866637A (en) 1987-10-30 1989-09-12 International Business Machines Corporation Pipelined lighting model processing system for a graphics workstation's shading function
US4901064A (en) 1987-11-04 1990-02-13 Schlumberger Technologies, Inc. Normal vector shading for 3-D graphics display system
US4943938A (en) 1985-10-11 1990-07-24 Hitachi, Ltd. System for displaying shaded image of three-dimensional object
US5064291A (en) 1990-04-03 1991-11-12 Hughes Aircraft Company Method and apparatus for inspection of solder joints utilizing shape determination from shading
US5222203A (en) * 1989-01-20 1993-06-22 Daikin Industries, Ltd. Method and apparatus for displaying translucent surface
US5537638A (en) * 1991-10-25 1996-07-16 Hitachi, Ltd. Method and system for image mapping
US5550960A (en) 1993-08-02 1996-08-27 Sun Microsystems, Inc. Method and apparatus for performing dynamic texture mapping for complex surfaces
US5563989A (en) * 1992-10-02 1996-10-08 Canon Kabushiki Kaisha Apparatus and method for performing lighting calculations for surfaces of three-dimensional objects
US5659671A (en) 1992-09-30 1997-08-19 International Business Machines Corporation Method and apparatus for shading graphical images in a data processing system
US5673374A (en) 1992-04-28 1997-09-30 Hitachi, Ltd. Method and apparatus for non-disturbed specular reflections on textured surfaces
US5761401A (en) 1992-07-27 1998-06-02 Matsushita Electric Industrial Co., Ltd. Parallel image generation from cumulative merging of partial geometric images
US5805782A (en) 1993-07-09 1998-09-08 Silicon Graphics, Inc. Method and apparatus for projective texture mapping rendered from arbitrarily positioned and oriented light source
US5808619A (en) * 1995-11-09 1998-09-15 Samsung Electronics Co., Ltd. Real-time rendering method of selectively performing bump mapping and phong shading processes and apparatus therefor
US5812141A (en) 1993-04-01 1998-09-22 Sun Microsystems, Inc. Method and apparatus for an adaptive texture mapping controller
US5854632A (en) 1996-10-15 1998-12-29 Real 3D Apparatus and method for simulating specular reflection in a computer graphics/imaging system
US5912830A (en) 1997-04-30 1999-06-15 Hewlett-Packard Co. System and method for conditionally calculating exponential values in a geometry accelerator
US5914724A (en) 1997-06-30 1999-06-22 Sun Microsystems, Inc Lighting unit for a three-dimensional graphics accelerator with improved handling of incoming color values
US5935198A (en) 1996-11-22 1999-08-10 S3 Incorporated Multiplier with selectable booth encoders for performing 3D graphics interpolations with two multiplies in a single pass through the multiplier
US5949424A (en) 1997-02-28 1999-09-07 Silicon Graphics, Inc. Method, system, and computer program product for bump mapping in tangent space
US6034693A (en) * 1996-05-28 2000-03-07 Namco Ltd. Image synthesizing apparatus, image synthesizing method and information storage medium
US6037947A (en) 1997-10-16 2000-03-14 Sun Microsystems, Inc. Graphics accelerator with shift count generation for handling potential fixed-point numeric overflows
US6081274A (en) 1996-09-02 2000-06-27 Ricoh Company, Ltd. Shading processing device
US6141013A (en) 1998-02-03 2000-10-31 Sun Microsystems, Inc. Rapid computation of local eye vectors in a fixed point lighting unit
US6181384B1 (en) 1997-04-04 2001-01-30 Sony Corporation Image converting apparatus and image converting method
US6252608B1 (en) 1995-08-04 2001-06-26 Microsoft Corporation Method and system for improving shadowing in a graphics rendering system
US6330000B1 (en) 1995-01-31 2001-12-11 Imagination Technologies Limited Method and apparatus for performing arithmetic division with a machine
US6342885B1 (en) 1998-11-12 2002-01-29 Tera Recon Inc. Method and apparatus for illuminating volume data in a rendering pipeline
US6400842B2 (en) 1998-01-14 2002-06-04 Sega Enterprises, Ltd. Image processing apparatus and image processing method
US20020080136A1 (en) * 2000-10-26 2002-06-27 Cyriaque Kouadio Surface shading using stored texture map based on bidirectional reflectance distribution function
US6611265B1 (en) 1999-10-18 2003-08-26 S3 Graphics Co., Ltd. Multi-stage fixed cycle pipe-lined lighting equation evaluator
US6781594B2 (en) 2001-08-21 2004-08-24 Sony Computer Entertainment America Inc. Method for computing the intensity of specularly reflected light

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US640842A (en) * 1898-04-15 1900-01-09 William A Bond Tile structure.
US634693A (en) * 1899-02-23 1899-10-10 Carnegie Steel Company Ltd Clamp for poles or columns.
US5369737A (en) * 1988-03-21 1994-11-29 Digital Equipment Corporation Normalization of vectors associated with a display pixels of computer generated images
US5268996A (en) * 1990-12-20 1993-12-07 General Electric Company Computer image generation method for determination of total pixel illumination due to plural light sources
US5734384A (en) * 1991-11-29 1998-03-31 Picker International, Inc. Cross-referenced sectioning and reprojection of diagnostic image volumes
IL102289A (en) * 1992-06-24 1997-08-14 R Technologies Ltd B V Method and system for processing moving images
US5361385A (en) * 1992-08-26 1994-11-01 Reuven Bakalash Parallel computing system for volumetric modeling, data processing and visualization
CA2198611A1 (en) * 1994-09-06 1996-03-14 Arie E. Kaufman Apparatus and method for real-time volume visualization
JP3203160B2 (en) * 1995-08-09 2001-08-27 三菱電機株式会社 Volume rendering apparatus and method
US5781194A (en) * 1996-08-29 1998-07-14 Animatek International, Inc. Real-time projection of voxel-based object
US6175367B1 (en) * 1997-04-23 2001-01-16 Siligon Graphics, Inc. Method and system for real time illumination of computer generated images
US6686924B1 (en) * 2000-02-02 2004-02-03 Ati International, Srl Method and apparatus for parallel processing of geometric aspects of video graphics data
US6686917B2 (en) * 2000-12-21 2004-02-03 The United States Of America As Represented By The Secretary Of The Navy Mine littoral threat zone visualization program
US6639594B2 (en) * 2001-06-03 2003-10-28 Microsoft Corporation View-dependent image synthesis

Patent Citations (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4361850A (en) 1978-07-13 1982-11-30 Sanyo Electric Co., Ltd. Color television receiver with character display function
US4241341A (en) 1979-03-05 1980-12-23 Thorson Mark R Apparatus for scan conversion
US4646075A (en) 1983-11-03 1987-02-24 Robert Bosch Corporation System and method for a data processing pipeline
US4658247A (en) 1984-07-30 1987-04-14 Cornell Research Foundation, Inc. Pipelined, line buffered real-time color graphics display system
US4709231A (en) 1984-09-14 1987-11-24 Hitachi, Ltd. Shading apparatus for displaying three dimensional objects
US4737921A (en) 1985-06-03 1988-04-12 Dynamic Digital Displays, Inc. Three dimensional medical image display system
US4817005A (en) * 1985-07-05 1989-03-28 Dai Nippon Insatsu Kabushiki Kaisha Method of designing cubic receptacle and apparatus therefor
US4943938A (en) 1985-10-11 1990-07-24 Hitachi, Ltd. System for displaying shaded image of three-dimensional object
US4866637A (en) 1987-10-30 1989-09-12 International Business Machines Corporation Pipelined lighting model processing system for a graphics workstation's shading function
US4901064A (en) 1987-11-04 1990-02-13 Schlumberger Technologies, Inc. Normal vector shading for 3-D graphics display system
US5222203A (en) * 1989-01-20 1993-06-22 Daikin Industries, Ltd. Method and apparatus for displaying translucent surface
US5064291A (en) 1990-04-03 1991-11-12 Hughes Aircraft Company Method and apparatus for inspection of solder joints utilizing shape determination from shading
US5537638A (en) * 1991-10-25 1996-07-16 Hitachi, Ltd. Method and system for image mapping
US5673374A (en) 1992-04-28 1997-09-30 Hitachi, Ltd. Method and apparatus for non-disturbed specular reflections on textured surfaces
US5761401A (en) 1992-07-27 1998-06-02 Matsushita Electric Industrial Co., Ltd. Parallel image generation from cumulative merging of partial geometric images
US5659671A (en) 1992-09-30 1997-08-19 International Business Machines Corporation Method and apparatus for shading graphical images in a data processing system
US5563989A (en) * 1992-10-02 1996-10-08 Canon Kabushiki Kaisha Apparatus and method for performing lighting calculations for surfaces of three-dimensional objects
US5812141A (en) 1993-04-01 1998-09-22 Sun Microsystems, Inc. Method and apparatus for an adaptive texture mapping controller
US5805782A (en) 1993-07-09 1998-09-08 Silicon Graphics, Inc. Method and apparatus for projective texture mapping rendered from arbitrarily positioned and oriented light source
US5550960A (en) 1993-08-02 1996-08-27 Sun Microsystems, Inc. Method and apparatus for performing dynamic texture mapping for complex surfaces
US6330000B1 (en) 1995-01-31 2001-12-11 Imagination Technologies Limited Method and apparatus for performing arithmetic division with a machine
US6252608B1 (en) 1995-08-04 2001-06-26 Microsoft Corporation Method and system for improving shadowing in a graphics rendering system
US5808619A (en) * 1995-11-09 1998-09-15 Samsung Electronics Co., Ltd. Real-time rendering method of selectively performing bump mapping and phong shading processes and apparatus therefor
US6034693A (en) * 1996-05-28 2000-03-07 Namco Ltd. Image synthesizing apparatus, image synthesizing method and information storage medium
US6081274A (en) 1996-09-02 2000-06-27 Ricoh Company, Ltd. Shading processing device
US5854632A (en) 1996-10-15 1998-12-29 Real 3D Apparatus and method for simulating specular reflection in a computer graphics/imaging system
US5935198A (en) 1996-11-22 1999-08-10 S3 Incorporated Multiplier with selectable booth encoders for performing 3D graphics interpolations with two multiplies in a single pass through the multiplier
US5949424A (en) 1997-02-28 1999-09-07 Silicon Graphics, Inc. Method, system, and computer program product for bump mapping in tangent space
US6181384B1 (en) 1997-04-04 2001-01-30 Sony Corporation Image converting apparatus and image converting method
US5912830A (en) 1997-04-30 1999-06-15 Hewlett-Packard Co. System and method for conditionally calculating exponential values in a geometry accelerator
US5914724A (en) 1997-06-30 1999-06-22 Sun Microsystems, Inc Lighting unit for a three-dimensional graphics accelerator with improved handling of incoming color values
US6037947A (en) 1997-10-16 2000-03-14 Sun Microsystems, Inc. Graphics accelerator with shift count generation for handling potential fixed-point numeric overflows
US6400842B2 (en) 1998-01-14 2002-06-04 Sega Enterprises, Ltd. Image processing apparatus and image processing method
US6141013A (en) 1998-02-03 2000-10-31 Sun Microsystems, Inc. Rapid computation of local eye vectors in a fixed point lighting unit
US6342885B1 (en) 1998-11-12 2002-01-29 Tera Recon Inc. Method and apparatus for illuminating volume data in a rendering pipeline
US6611265B1 (en) 1999-10-18 2003-08-26 S3 Graphics Co., Ltd. Multi-stage fixed cycle pipe-lined lighting equation evaluator
US20020080136A1 (en) * 2000-10-26 2002-06-27 Cyriaque Kouadio Surface shading using stored texture map based on bidirectional reflectance distribution function
US6781594B2 (en) 2001-08-21 2004-08-24 Sony Computer Entertainment America Inc. Method for computing the intensity of specularly reflected light

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Blinn, J.F., "Light Reflection Functions for Stimulation of Clouds and Dusty Surfaces," ACM Graphics, vol. 16, No. 3, Jul. 1982.
Blinn, J.F., "Models of Light Reflection for Computer Synthesized Pictures," Proc. Siggraph 1977, Computer Graphics 11(2), pp. 92-198, Jul. 1977.
Phong, Bui Tuong, "Illumination for Computer Generated Pictures," Communication of the ACM, 18(6), pp. 311-317, Jun. 1975.
Rushmeier et al., "Extending the Radiosity Method to Include Specularly Reflecting and Translucent Materialsm" ACM Transaction on Graphics, vol. 9, No. 1, Jan. 1990.
Schlicke, C., "A Fast Alternative to Phong's Specular Model," Graphics Gems IV, pp. 385-386, 1994.

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060214943A1 (en) * 2001-08-21 2006-09-28 Sony Computer Entertainment America Inc. Computing the intensity of specularly reflected light
US20060001674A1 (en) * 2001-10-10 2006-01-05 Sony Computer Entertainment America Inc. Environment mapping
US7786993B2 (en) 2001-10-10 2010-08-31 Sony Computer Entertainment America Llc Environment mapping
US8133115B2 (en) 2003-10-22 2012-03-13 Sony Computer Entertainment America Llc System and method for recording and displaying a graphical path in a video game
US8289325B2 (en) 2004-10-06 2012-10-16 Sony Computer Entertainment America Llc Multi-pass shading
US8284310B2 (en) 2005-06-22 2012-10-09 Sony Computer Entertainment America Llc Delay matching in audio/video systems
US8243089B2 (en) 2006-05-04 2012-08-14 Sony Computer Entertainment Inc. Implementing lighting control of a user environment
US8204272B2 (en) 2006-05-04 2012-06-19 Sony Computer Entertainment Inc. Lighting control of a user environment via a display device
US10786736B2 (en) 2010-05-11 2020-09-29 Sony Interactive Entertainment LLC Placement of user information in a game space
US11478706B2 (en) 2010-05-11 2022-10-25 Sony Interactive Entertainment LLC Placement of user information in a game space
US9342817B2 (en) 2011-07-07 2016-05-17 Sony Interactive Entertainment LLC Auto-creating groups for sharing photos
US20160239998A1 (en) * 2015-02-16 2016-08-18 Thomson Licensing Device and method for estimating a glossy part of radiation
US10607404B2 (en) * 2015-02-16 2020-03-31 Thomson Licensing Device and method for estimating a glossy part of radiation

Also Published As

Publication number Publication date
AU2002331631A1 (en) 2003-03-03
WO2003017200A2 (en) 2003-02-27
WO2003017200A3 (en) 2003-04-03
EP1419481B1 (en) 2010-04-14
EP1419481A4 (en) 2006-09-20
US20050001836A1 (en) 2005-01-06
EP1419481A2 (en) 2004-05-19
JP3971380B2 (en) 2007-09-05
US6781594B2 (en) 2004-08-24
US20060214943A1 (en) 2006-09-28
TW561448B (en) 2003-11-11
US20030043163A1 (en) 2003-03-06
DE60235994D1 (en) 2010-05-27
JP2005500629A (en) 2005-01-06

Similar Documents

Publication Publication Date Title
US20060214943A1 (en) Computing the intensity of specularly reflected light
US8174527B2 (en) Environment mapping
US5253339A (en) Method and apparatus for adaptive Phong shading
US6356263B2 (en) Adaptive subdivision of mesh models
US5808619A (en) Real-time rendering method of selectively performing bump mapping and phong shading processes and apparatus therefor
US8390621B2 (en) System and method for calculating multi-resolution dynamic ambient occlusion
US20080106549A1 (en) Omnidirectional shadow texture mapping
US6175367B1 (en) Method and system for real time illumination of computer generated images
US5739820A (en) Method and apparatus for specular reflection shading of computer graphic images
CN112840378A (en) Global lighting interacting with shared illumination contributions in path tracing
US20020030681A1 (en) Method for efficiently calculating texture coordinate gradient vectors
WO2001029768A2 (en) Multi-stage fixed cycle pipe-lined lighting equation evaluator
US5990894A (en) Method for implementing the power function DP and computer graphics system employing the same
US8289332B2 (en) Apparatus and method for determining intersections
EP3131063A1 (en) Method and apparatus for real-time rendering of images of specular surfaces
US20130155089A1 (en) Real-time global illumination rendering system
US6246416B1 (en) Method for modeling reflection of light from an anisotropic surface
US6317126B1 (en) Method and device for associating a pixel with one of a plurality of regions in a logarithm or cosine space
EP0817130A2 (en) Apparatus and method for calculating specular lighting
JP2617820B2 (en) Illuminance calculation method
JP2006195940A (en) Translucent object rendering circuit
JPH07128147A (en) Estimation apparatus of light-source color using specular reflection component
JPH0475180A (en) Method and device for calculating interreflected light
US20020135576A1 (en) Method and apparatus for culling
GB2351577A (en) Apparatus and method for performing data computations

Legal Events

Date Code Title Description
AS Assignment

Owner name: SONY COMPUTER ENTERTAINMENT AMERICA INC., CALIFORN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:DAY, MICHAEL R.;REEL/FRAME:015641/0949

Effective date: 20010814

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: SONY COMPUTER ENTERTAINMENT AMERICA LLC, CALIFORNI

Free format text: MERGER;ASSIGNOR:SONY COMPUTER ENTERTAINMENT AMERICA INC.;REEL/FRAME:025406/0506

Effective date: 20100401

FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: SONY INTERACTIVE ENTERTAINMENT AMERICA LLC, CALIFO

Free format text: CHANGE OF NAME;ASSIGNOR:SONY COMPUTER ENTERTAINMENT AMERICA LLC;REEL/FRAME:038611/0846

Effective date: 20160331

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553)

Year of fee payment: 12

AS Assignment

Owner name: SONY INTERACTIVE ENTERTAINMENT LLC, CALIFORNIA

Free format text: MERGER;ASSIGNOR:SONY INTERACTIVE ENTERTAINMENT AMERICA LLC;REEL/FRAME:053323/0567

Effective date: 20180315