Computer graphics system for rendering images using full spectral illumination data
First Claim
1. In a computer controlled graphics display system for displaying an object having an associated surface reflectance function to a plurality of sensors each having an associated sensor response function, a color processing method comprising the steps of:
- (a) determining at a point on said object an illumination vector whose components represent the weights of predetermined basis functions for a predetermined light source;
(b) determining a surface matrix responsive to a surface reflectance function at said point, said plurality of predetermined basis functions, and said plurality of sensor response functions wherein each entry in said surface matrix has a value representing ∫
Xc (λ
) s(λ
) Ei (λ
) dλ
, which represents a color component for an ith basis function of said plurality of predetermined basis functions, wherein s(λ
) represents said surface reflectance function, λ
represents wavelength, Xc (λ
) represents one of said plurality of sensor response functions and Ei (λ
) represents one of said plurality of predetermined basis functions for said ith basis function;
(c) determining a set of colorimetric sensor sensor values at said point including multiplying in a matrix multiplication circuit said surface matrix by said illumination vector, and displaying a picture element on a display responsive to said set of colorimetric sensor sensor values.
4 Assignments
0 Petitions
Accused Products
Abstract
A computer controlled graphics system for processing an image using full spectral representations. An object in an image has an associated full spectral surface reflectance function. Each illumination source is represented by a light vector whose components represent the weights of predetermined basis functions, so that said illumination vector represents a light source in full spectral representation. A plurality of sensors each has an associated sensor response function. A user may select, either directly or indirectly such as through a graphics program, the surface reflectance function, each light source, and the sensor response functions. At a point on an object, the color processing system determines a surface matrix responsive to the surface reflectance function at said point, the plurality of predetermined basis functions, and the plurality of sensor response functions. Responsive to the surface matrix and each illumination vector the color processing system uses a matrix multiplication circuit to determine a set of colorimetric sensor values for the point. A user may also select a texture and/or an environment map. The texture map may comprise a surface matrix at each texel, and can be used as a substitute for the surface matrix or alternately it can be used for texturing the set of colorimetric sensor values calculated from the surface matrix. The environment map may comprise an environment map vector at each location within the map, which can be used to provide the illumination vector.
-
Citations
29 Claims
-
1. In a computer controlled graphics display system for displaying an object having an associated surface reflectance function to a plurality of sensors each having an associated sensor response function, a color processing method comprising the steps of:
-
(a) determining at a point on said object an illumination vector whose components represent the weights of predetermined basis functions for a predetermined light source; (b) determining a surface matrix responsive to a surface reflectance function at said point, said plurality of predetermined basis functions, and said plurality of sensor response functions wherein each entry in said surface matrix has a value representing ∫
Xc (λ
) s(λ
) Ei (λ
) dλ
, which represents a color component for an ith basis function of said plurality of predetermined basis functions, wherein s(λ
) represents said surface reflectance function, λ
represents wavelength, Xc (λ
) represents one of said plurality of sensor response functions and Ei (λ
) represents one of said plurality of predetermined basis functions for said ith basis function;(c) determining a set of colorimetric sensor sensor values at said point including multiplying in a matrix multiplication circuit said surface matrix by said illumination vector, and displaying a picture element on a display responsive to said set of colorimetric sensor sensor values. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. In a computer controlled graphics display system for displaying an object having a surface reflectance function associated therewith under illumination by at least one light source having a predetermined spectral content, to a plurality of sensors each having a sensor response function, a color processing circuit comprising:
-
a light source receiving circuit to receive a light vector whose components represent said light source by respective weights of each of a plurality of predetermined basis functions; a surface matrix receiving circuit coupled to receive a surface matrix precomputed responsive to said surface reflectance function, said predetermined basis functions, and said sensor response functions wherein each entry in said surface matrix has a value representing ∫
Xc (λ
) s(λ
) Ei (λ
) dλ
, which represents a color component for an ith basis function of said plurality of predetermined basis functions, wherein s(λ
) represents said surface reflectance function, λ
represents wavelength, Xc (λ
) represents one of said plurality of sensor response functions and Ei (λ
) represents one of said plurality of predetermined basis functions for said ith basis function;a matrix multiplication circuit coupled to receive and multiply said surface matrix and said light vector to compute a set of colorimetric sensor values for said picture element. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. In a computer controlled graphics display system for displaying an object having an associated surface reflectance function to a plurality of sensors each having an associated sensor response function, said object being illuminated by a plurality of light sources, a color processing method comprising the steps of:
-
(a) for each of said plurality of light sources, determining an illumination vector whose components represent the weights of predetermined basis functions; (b) determining at a point on said object a surface matrix responsive to a surface reflectance function, said plurality of predetermined basis functions, and said plurality of sensor response functions wherein each entry in said surface matrix has a value representing ∫
Xc (λ
) s(λ
) Ei (λ
) dλ
, which represents a color component for an ith basis function of said plurality of predetermined basis functions, wherein s(λ
) represents said surface reflectance function, λ
represents wavelength, Xc (λ
) represents one of said plurality of sensor response functions and Ei (λ
) represents one of said plurality of predetermined basis functions for said ith basis function;(c) responsive to said surface matrix and each of said illumination vectors, determining a set of colorimetric sensor values for each of said illumination vectors, including the step of multiplying said surface matrix by each illumination vector to provide a set of colorimetric sensor-basis values for each illumination vector; (d) responsive to each of said sets of colorimetric sensor-basis values, determining a final set of colorimetric sensor values; and (e) supplying said final set for display. - View Dependent Claims (16, 17)
-
-
18. A full spectral texturing method for processing an image for display on a data processing system, comprising the steps of:
-
(a) determining at a point on an object an illumination vector representative of a light source in full spectral representation; (b) determining at said point a full spectral texture representation; (c) determining a set of colorimetric sensor values at said point responsive to said illumination vector and said full spectral texture representation and displaying a picture element on a display responsive to said set of colorimetric sensor values (d) determining a texture surface matrix at each point in said texture map responsive to said surface reflectance function at said respective texel, said plurality of predetermined basis functions, and a plurality of sensor response functions; and (e) computing said set of colorimetric sensor values responsive to said texture surface matrix and said illumination vector wherein each entry in said texture surface matrix has a value representing ∫
Xc (λ
)s(λ
)Ei (λ
)dλ
, which represents a color component for an ith basis function of said plurality of predetermined basis functions, wherein s(λ
) represents said surface reflectance function, λ
represents wavelength, Xc (λ
) represents one of said plurality of sensor response functions and Ei (λ
) represents one of said plurality of predetermined basis functions for said ith basis function. - View Dependent Claims (19, 20, 21)
-
-
22. An environment mapping method for processing an image for display on a data processing system, said method comprising the steps of:
-
(a) supplying an environment map having a plurality of locations each defined by an environment map vector that represents illumination data in full spectral representation; (b) determining at a point on an object a full spectral representation of a reflectance of said object from said point, including a surface matrix; (C) determining a location in said environment map corresponding to said point; (d) responsive to said location, determining an illumination vector representing a light source in full spectral representation; (e) determining a colorimetric sensor value for said point responsive to said illumination vector and said full spectral representation of a reflectance, multiplying said surface matrix by said illumination vector in a matrix multiplication circuit, and displaying a picture element on a display responsive to said colorimetric sensor value wherein each entry in said surface matrix has a value representing ∫
Xc (λ
)s(λ
)Ei (λ
)dλ
, which represents a color component for an ith basis function of said plurality of predetermined basis functions, wherein s(λ
) represents said surface reflectance function, λ
represents wavelength, Xc (λ
) represents one of said plurality of sensor response functions and Ei (λ
) represents one of said plurality of predetermined basis functions for said ith basis function. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
-
29. A color rendering system for a computer graphics station having a color monitor that displays a color image responsive to input RGB values that define one or more objects illuminated by one or more sources, said color rendering system comprising:
-
a first memory element for storing a full spectral reflectance function representation S(λ
) for each object in said color image;a second memory element for storing illumination data representative of the spectral distribution of each of said sources as a function of wavelength λ
for each illumination source j in said color image;a basis determination circuit, coupled to receive said illumination data, and responsive thereto, for transforming the representation of said illumination data into a linear combination of basis functions as a function of wavelength λ
, each basis function from i=1 to i=M being represented by Ei (λ
);a third memory element for storing a plurality of sensor functions, including x(λ
), y(λ
), and z(λ
);an integration circuit coupled to said first and third memory elements for integrating for each object over the wavelength (λ
), the reflectance function S(λ
), each of the basis functions Ei (λ
) corresponding to the illumination sources, and the chromaticity basis functions to define a XYZ vector for each basis function i substantially in accordance with the following formulas;
space="preserve" listing-type="equation">X.sub.i =∫
x(λ
)E.sub.i (λ
)S(λ
)dλ
,
space="preserve" listing-type="equation">Y.sub.i =∫
y(λ
)E.sub.i (λ
)S(λ
)dλ
,and
space="preserve" listing-type="equation">Z.sub.i =∫
z(λ
)E.sub.i (λ
)S(λ
)dλfor each basis function i=1 through i=M to define a 3×
M XYZ matrix having columns defined by said XYZ vectors for each of said M basis functions; andgraphics display circuitry coupled to receive the XYZ matrix and to said second memory element, to compute XYZ data and supply said XYZ data to said color monitor.
-
Specification