Abstract:
An image processing apparatus for finding reflectivity based on a BRDF model expressing a ratio of reflection of light incident upon one point of a surface of an object to be drawn at the object surface, the image processing apparatus having an operation unit for calculating the reflectivity based on a BRDF model calculated by a quadratic-form matrix expression including a vector comprised of a light source direction vector, a viewpoint direction vector, and a normal direction vector and a matrix determining the characteristics of the BRDF model, thereby able to achieve both a variety of expression power and good operation efficiency when mounted in a programmable pixel shader and further having enough of a compactness to easily cope with a shift-variant BRDF, and a method of the same.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention relates to an image processing apparatus for realizing three-dimensional computer graphics and a method of the same, more particularly relates to a configuration of a computer graphics apparatus and method for generating more realistic images.  
           [0003]    2. Description of the Related Art  
           [0004]    Along with the increase in operation speeds and improvement of graphic drawing functions in recent computer systems, computer graphics (CG) for preparing and processing graphics and images by using computer resources has been actively researched, developed, and put into practical use.  
           [0005]    For example, three-dimensional graphics generates more realistic, three-dimensional-like two-dimensional high definition images by expressing an optical phenomenon when a three-dimensional object is illuminated by a predetermined light source by a mathematical model, applying shading or gradation to the object surface based on this model, and further adhering patterns.  
           [0006]    Such computer graphics is now being increasingly actively utilized in CAD/GAM in the field of development in science, engineering, and manufacture and other various fields of applications.  
           [0007]    Three-dimensional graphics is generally comprised of a “geometry sub system” positioned at the front end and a “raster sub system” positioned at the back end.  
           [0008]    The “geometry sub system” is the step for performing geometricerations on the location, posture, etc. of a three-dimensional object to be displayed on a display screen.  
           [0009]    In a geometry sub system, generally an object is handled as a mass of a large number of polygons. “Coordinate conversion”, “clipping”, “light source computation”, and other geometricerations are carried out in units of polygons.  
           [0010]    On the other hand, the “raster sub system” is the step of painting pixels composing the object.  
           [0011]    Rasterization is realized by interpolating image parameters of all pixels included inside a polygon based on for example the image parameters found for the vertexes of the polygon.  
           [0012]    The “image parameters” referred to here include for example color (generated color) data expressed by the so-called RGB format and z-values for expressing a distance in a depth direction.  
           [0013]    Further, in recent high definition three-dimensional graphics processing, also an f (fog) for giving a perspective feeling and a texture t for imparting realness by expressing the feeling of a material and the pattern of the object surface etc. are included as image parameters.  
           [0014]    Here, processing for generating pixels inside a polygon from vertex information of a polygon is frequently executed using a linear interpolation technique referred to as a “digital differential analyzer” (DDA).  
           [0015]    In a DDA process, an inclination of the data to a side direction of the polygon is found from the vertex information, the data on the side is calculated by using this inclination, and then the inclination in the raster scan direction (X-direction) is calculated, and the amount of the change of the parameter found from this inclination is added to the parameter value of the start point of the scanning to thereby generate the internal pixel.  
           [0016]    In such three-dimensional graphics, in recent years, in order to generate more realistic computer graphic images, the illumination model has been improved. On the other hand, research and development are being conducted into the hardware architecture for pursuing real time graphic generation performance.  
           [0017]    In general, when trying to improve the realness, the amount of operations increases and the real time property is degraded, while when trying to improve the real time property, simplification of the algorithms is required and the realness is sacrificed. Research and development are being conducted to realize these conflicting requirements simultaneously as much as possible.  
           [0018]    Among the newest hardware technologies for pursuing real time graphic drawing performance, there is the technology referred to as a “programmable pixel shader”.  
           [0019]    A programmable pixel shader imparts the function of programmability to the step of shading performed for every pixel composing a polygon.  
           [0020]    By this programmability, a general reflection model referred to as a “bi-directional reflection distribution function (BRDF)” has started to be mounted, and the possibility of the real time, realistic image generation has appeared. Further, it has also been considered to change the nature of the BRDF so as to impart change to the color of a polygon surface by texture mapping. Such a BRDF having a different nature according to the location on the surface of the polygon will be referred to as a “shift-variant BRDF”.  
           [0021]    Below, a detailed explanation will be given of a programmable pixel shader, BRDF, and shift-variant BRDF.  
         Programmable Pixel Shader  
         [0022]    A programmable pixel shader imparts the function of programmability to the step of calculation of luminance performed for every pixel.  
           [0023]    The technique of the programmable pixel shader is employed in graphic LSIs of GForce3 and GForce4 of NVIDIA Corp. and RADEON 8500 etc. of ATI Corporation.  
           [0024]    Using this, a user can devise and write a pixel shader program to realize a shading model having a realness not achieveable by conventional fixed hardware supporting only gouraud shading in a real time execution environment.  
           [0025]    For example, when using not only the techniques of gouraud shading, texture mapping, etc. mounted also in conventional fixed hardware, but also the programmable pixel shader, Phong shading, bump mapping, toon shading, environment mapping, etc. can be mounted. Further, an anisotropic reflection model and a part of kind BRDF can be utilized.  
           [0026]    When using a programmable pixel shader, a texture memory can be used as a place for storing shading parameters mapped on a polygon.  
           [0027]    For example, when there is a shader program utilizing a normal direction, the data is stored in the normal direction in each texel of the texture memory. At the run time, shading can be calculated by using the normal obtained from the texel value. Bump mapping and partial BRDF have been realized by this method.  
           [0028]    The mechanism of the programmable pixel shader of the CForce3 and GForce4 of NVIDIA Corp. is shown in FIG. 1.  
           [0029]    Basically, this programmable pixel shader is configured by a texture lookup unit 1 and an ALU 2.  
           [0030]    Four texture addresses TEX0 to TEX3 are supplied from an upstream programmable vertex shader to the texture lookup unit  1 . The texture lookup unit  1  can look up the texels of four elements of RGBA corresponding to four texture addresses at the maximum. The lookup can be executed for four elements in parallel. The results of the lookup are output to the pixel ALU  2 .  
           [0031]    Further, the programmable vertex shader supplies four elements of two RGBA to the pixel ALU  2 . The pixel ALU  2  has special operation units such as register combiners  2 - 1 ,  2 - 2 , and  2 - 3  as shown in FIG. 2.  
           [0032]    The register combiners  2 - 1  and  2 - 2  execute inner multiplication and multiplication, while the register combiner  2 - 3  executes addition. In the pixel ALU  2 , the data is input to the register combiner  2 - 1  through input maps  2 - 4  and  2 - 5 , and the data is input to the register combiner  2 - 2  through input maps  2 - 6  and  2 - 7 . By this, the multiplication and the inner multiplication can be executed in parallel. Note that the inner multiplication is only three-dimension×three-dimension. The inner multiplication operation can be utilized for the inner multiplication of for example the Phong reflection model and the diffuse reflection model.  
           [0033]    The pixel shader program is a program of a few steps which can be defined by the user and executed from the header for every pixel. This program controls the texture lookup unit  1  and the ALU  2 .  
         BRDF  
         [0034]    BRDF is a function expressing the ratio of the reflection of the light incident upon one point on the surface at the object surface. This is expressed as a four-dimensional function comprised of directions of the light source and the viewpoint as in the following equation:  
             I   o   =BRDF (θ i , φ i , θ o , φ o )cos θ i   I   i    (1)  
           [0035]    The BRDF can be treated as a higher concept of the conventional well known shading models. For example, the following three lighting effects can be thought of as sub sets of BRDF using directions of the viewpoint and the light source as the parameters.  
           [0036]    The ambient lighting model is one of the lighting effects determined independently from the directions of the viewpoint and the light source.  
           [0037]    The diffuse reflection model is one of the lighting effects determined according to the direction of the light source.  
           [0038]    The specular reflection model is one of the lighting effects determined according to the directions of the light source and the viewpoint.  
           [0039]    Other than the above description, a shading model having anisotropy and a retro reflection model for reflecting the light to the direction of the light source etc. can be expressed.  
           [0040]    In order to most simply express also a general purpose BRDF, four-dimensional data may be used. However, when trying to utilize it industrially, the cost of realization would be high and therefore this would not be realistic. The formats for expression of the BRDF are roughly classified into those of a physical equation, experiential equation, and approximation equation as shown below.  
         Physical Equation  
         [0041]    This is an equation derived from physical principles. The operation is complex in many cases. For example, this includes a Torrance-Sparrow model, a Oren-Nayar model, etc.  
         Experiential Equation  
         [0042]    This is an equation using compact expressions for reproducing conspicuous characteristics which can be perceived by human beings. Visually definite results are obtained. The processing cost is also low. For example, this includes a Phong shading model, polynomial texture maps (Tom Malzbender et al., “Polynomial Texture Maps”, ComputerGraphics (SIGGAPH2001 Proceedings), pp. 519-528), a Lafortune-BRDF (E. P. F. Lafortune et al., “Non-Linear Approximation of Reflectance Functions”, ComputerGraphics (SIGGAPH1997 Proceedings), August 1997), etc.  
         Approximation Value, Approximation Equation  
         [0043]    This is an equation using various types of base functions and using tabularized data. It is a method considered to compress the data of a four-dimensional table provided in a general purpose BRDF. For example, it includes a Kauzt-BRDF (J. Kautz et al., “Interactive Rendering with Arbitrary BRDFs using Separable Approximations”, Proceedings of the 10th Eurographics Workshop on Rendering, pages 281-292, June 1999) model, Wavelet, BRDF using spherical-harmonics, etc.  
           [0044]    The Lafortune-BRDF model is BRDF defined by using a generalized cosine lobe.  
             I=ρ   s   [C   x   u   x   v   x   +C   y   u   y   v   y   +C   z   u   z   v   z ]″  (2)  
           [0045]    An anisotropic specular effect, retro reflection, off specular effect, etc. can be reproduced.  
           [0046]    A polynomial texture map is a shading model specializing in its self shadow effect.  
             I=a   0   l   u   2   +a   1   l   v   2   +a   2   l   u   l   v   +a   3   l   u   +a   4   l   v   +a   5    (3)  
           [0047]    The parameters of the model can be obtained from a plurality of images captured by using a dedicated measurement device.  
           [0048]    A Kauzt-BRDF model is a BRDF model approximating a four-dimensional table by multiplication of two two-dimensional tables by using normalized decomposition. There is mounting using the programmable pixel shader of NVIDIA Corp. The reproducibility of the feeling of a metal and plastic is good. However, two tables are used, so the required amount of data is large.  
         Shift-Variant BRDF  
         [0049]    A BRDF changing according to the location on the surface will be referred to as a “shift-variant BRDF” or “BTF” (hereinafter, standardized as “shift-variant BRDF”). A shift-variant BRDF is a six-dimensional function. It is also possible to consider as if the two-dimensional parameters expressing the location on the surface of the polygon were used in the BRDF.  
           [0050]    Since there are different BRDFs at different locations on the surface, a material having a nonuniform texture can be realistically expressed. For example, this is suitable for expressing clothing, fabric, or skin.  
           [0051]    With a programmable pixel shader, by holding the parameters of the BRDF model in a circuit similar to texture mapping and looking up the parameters, the BRDF can be changed in units of pixels. Namely, a shift-variant BRDF can be realized.  
           [0052]    For example, the Daubert-BRDF (Katja Daubert et al., “Efficient Cloth Modeling and Rendering”, in Rendering Techniques, &#39;01 Proceedings of the 12th Eurographics Workshop on Rendering 2001, Springer Verlag, Berlin) experiments with making a shift-variant BRDF of the Lafortune-BRDF model.  
           [0053]    However, the Daubert-BRDF only stores the parameters of Lafortune-BRDF equations in the texels for achieving shift-variance. The coordinate system for evaluating Lafortune-BRDF equations is not made shift-variant, so bump map-like expressions are not possible. An effect dependent upon the direction of the viewpoint is realized by using a cube map. In mounting using a cube map, this effect cannot be made shift-variant. Further, the self shadow effect is not considered at all.  
           [0054]    A polynomial texture map calculates luminance by using a two-dimensional equation comprised of six terms as in the above equation 3.  
           [0055]    This technique aims at replacement of conventional texture mapping. A table storing six coefficients of the terms in the texels may be used. The self shadow effect is a characteristic feature of this.  
           [0056]    The programmable pixel shader, BRDF, and shift-variant BRDF explained above suffer from the following disadvantages however.  
           [0057]    The programmable pixel shader imparts programmability to the pixel shader—which was conventionally a fixed hardware circuit—and imparts the flexibility of a general purpose operation unit.  
           [0058]    However, in order not to detract from the operation efficiency—the sales point of graphics hardware, priority has been given to efficiency in generalization.  
           [0059]    There are restrictions, however, such as the fact that branch commands cannot be used, the lack of orthogonality in the command set, and the limitation of the data type to 8 bits.  
           [0060]    The programmable pixel shader mounted in the GForce series of NVIDIA Corp. has a circuit configuration assuming a shading model enabling calculation by looking up texels comprised of four elements from a maximum of four texture maps and several inner multiplication operations or multiplication operations for every pixel.  
           [0061]    Various shading models can be mounted, but there are also shading models with poor mounting efficiency or unable to be mounted. Particularly, the processing efficiency of a shading model including many matrix operations is poor. Further, only 16 elements can be obtained at the maximum from four texture maps. This is insufficient for a sufficient supply of matrixes.  
           [0062]    That is, it is necessary to predict a shading model which may be utilized in the future as correctly as possible and consider the hardware architecture of the programmable pixel shader having a good balance between efficiency and generality.  
           [0063]    There are diverse forms of expression of a BRDF. Each has its characteristic features. The application may select the form of expression of the BRDF in accordance with the objective.  
           [0064]    However, for graphics hardware designed giving priority to efficiency and considering the minimum generalization, desirably the corresponding BRDF model is the minimum and thereby obtains the maximum effect. A convenient BRDF model satisfying these contradictory requirements is required.  
           [0065]    Further, in order to realize a good shift-variant BRDF, a high expression power, compact BRDF model becomes necessary.  
           [0066]    The form of expression of a BRDF having a small number of parameters is suited for a shift-variant BRDF. When the number of parameters allocated to one texel is small, the size of the table becomes smaller by that amount. Conversely, when the number of the parameters is large, the table becomes larger, so a BRDF of a type obtained by combining Kauzt-BRDF or other tables is not suited for obtaining a shift-variant BRDF.  
         SUMMARY OF THE INVENTION  
         [0067]    An object of the present invention is to provide an image processing apparatus suitable for a BRDF operation system, able to achieve both a diverse expression power and good operation efficiency when mounted in a programmable pixel shader, and having a compactness enabling easily achievement of a shift-variant BRDF, and a method of the same.  
           [0068]    To attain the above object, according to a first aspect of the present invention, there is provided an image processing apparatus for finding reflectivity based on a BRDF model expressing a ratio of reflection of light incident upon one point of a surface of an object to be drawn at the object surface, having an operation means for calculating the reflectivity based on a BRDF model calculated by a quadratic-form matrix expression including a vector comprised of a light source direction vector, a viewpoint direction vector, and a normal direction vector and a matrix determining the characteristics of the BRDF model.  
           [0069]    According to a second aspect of the present invention, there is provided an image processing method for finding reflectivity based on a BRDF model expressing a ratio of reflection of light incident upon one point of a surface of a generated object at the object surface, comprising calculating the reflectivity based on a BRDF model calculated by a quadratic-form matrix expression including a vector comprised of a light source direction vector, a viewpoint direction vector, and a normal direction vector and a matrix determining the characteristics of the BRDF model.  
           [0070]    Preferably, the vector comprised of the light source direction, the viewpoint direction, and the normal direction is either of a three-dimensional vector expressing directions, a quaternion, and a pole coordinate.  
           [0071]    Alternatively, the vector comprised of the light source direction, the viewpoint direction, and the normal direction is obtained by regressing the order by using an appropriate linear conversion.  
           [0072]    Alternatively, the vector comprised of the light source direction, the viewpoint direction, and the normal direction is obtained by converting the vector by any elementary operation, table reference, or combination of the same.  
           [0073]    Alternatively, the matrix determining the characteristics of the BRDF model calculated by the quadratic-form matrix expression is divided into sub matrixes and operation is performed for evaluation using a polynomial comprised of a quadratic form of the divided sub matrixes.  
           [0074]    Alternatively, the quadratic form is calculated by the procedure of multiplying the matrix and vectors, then multiplying the vectors with each other.  
           [0075]    Alternatively, evaluation results of one or more of the BRDF models are combined by selectively using addition/subtraction, multiplication, division, cumulative multiplication, and the quadratic form.  
           [0076]    Alternatively, the BRDF model is calculated by a composite operator having two operation modes of a matrix operation equation comprised of two different vectors and a sum of the quadratic-form matrix including a triangle matrix and vector multiplication.  
           [0077]    Alternatively, the matrix determining the characteristics of the BRDF model is given by using a texture map.  
           [0078]    Alternatively, elements of the matrix determining the characteristics of the BRDF model are interpolated based on MIPMAP processing including predetermined filtering.  
           [0079]    Alternatively, the matrix determining the characteristics of the BRDF model is referred to from an indexed table.  
           [0080]    Alternatively, the matrix determining the characteristics of the BRDF model is obtained by solving an equation comprised of a plurality of polynomials obtained by entering a plurality of BRDF raw data given in advance into the BRDF model.  
           [0081]    Alternatively, the matrix determining the characteristics of the BRDF model is formed from the parameters of a polynomial texture map by a correspondence obtained by assuming that a diffuse reflectivity distribution corresponding to the light source direction is the same as a specular reflectivity distribution corresponding to a half vector direction.  
           [0082]    That is, according to the present invention, for example the operation means calculates the reflectivity based on a BRDF model calculated by a quadratic-form matrix expression including a vector comprised of a light source direction vector, a viewpoint direction vector, and a normal direction vector and a matrix determining the characteristics of the BRDF model. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0083]    The above and other objects and features of the present invention will be more apparent from the following description of the preferred embodiments given in relation to the attached drawings, wherein:  
         [0084]    [0084]FIG. 1 is a view for explaining a mechanism of a conventional programmable pixel shader;  
         [0085]    [0085]FIG. 2 is a view of the concrete configuration of a pixel ALU of FIG. 1;  
         [0086]    [0086]FIG. 3 is a block diagram of an embodiment of an image processing apparatus according to the present invention;  
         [0087]    [0087]FIG. 4 is a block diagram of a concrete example of the configuration of a GPU of FIG. 3;  
         [0088]    [0088]FIG. 5 is a view of an example of the configuration of a logical block constructed by a program stored in a computer according to the present embodiment;  
         [0089]    [0089]FIG. 6 is a flow chart for explaining an example of the operation using an image combiner;  
         [0090]    [0090]FIG. 7 is a flow chart for explaining the detailed routine for one-path drawing at step ST 3  of FIG. 6;  
         [0091]    [0091]FIG. 8 is a view for explaining a method for handling a BRDF having an expression hard to reproduce by a single BRDF of the present invention;  
         [0092]    [0092]FIG. 9 is a view for explaining a preferred example of operators for efficiently performing processing for evaluation of a BRDF of the present invention;  
         [0093]    [0093]FIG. 10 is a view of an example of an operation circuit for realizing FIG. 9;  
         [0094]    [0094]FIG. 11 is a view for explaining an example of forming a texture map having a matrix M as texels, looking up the matrix M from the texture map at the time of execution, and using this as the parameter of the BRDF of the present invention;  
         [0095]    [0095]FIG. 12 is a view of the configuration of a logical circuit using an index map;  
         [0096]    [0096]FIG. 13 is a view for explaining a method of calculation of parameters of a BRDF of the present invention;  
         [0097]    [0097]FIG. 14 is a view for explaining an assumption that a diffuse reflectivity distribution corresponding to a light source direction and a specular reflectivity distribution corresponding to a half vector direction are the same;  
         [0098]    [0098]FIG. 15 is a view of an example of a configuration realizing a function of a first mode of FIG. 9 by using a register combiner of FIG. 2; and  
         [0099]    [0099]FIG. 16 is a view of an example of a configuration realizing a function of a second mode of FIG. 9 by using the register combiner of FIG. 2. 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0100]    Below, a detailed explanation will be given of embodiments of the present invention in relation to the drawings.  
         [0101]    In the embodiments, first the configuration and functions of an image processing apparatus employing BRDF model evaluation operation according to the present invention will be explained, then the BRDF model according to the present invention and the operation for evaluation of it will be explained in detail.  
         [0102]    [0102]FIG. 3 is a block diagram of an embodiment of the image processing apparatus according to the present invention.  
         [0103]    The image processing apparatus  10  has, as shown in FIG. 3, an input device  11 , a display  12 , a network  13 , and a computer  14 .  
         [0104]    The input device  11  includes an input device such as a keyboard, a mouse, and a joystick and is used by the user for instructing the computer  12  and inputting information.  
         [0105]    The display  12  is configured by an image display device such as a cathode ray tube (CRT) or liquid crystal display (LCD) and displays an image in accordance with the image data generated at the computer  14 .  
         [0106]    The network  13  is comprised of a LAN, the Internet, or other large number of computers connected to each other. The computer  14  transfers data with the outside via the network  13 .  
         [0107]    The computer  14  has, as shown in FIG. 3, a CPU  141 , a memory  142 , a bridge unit  143 , an external input/output unit  144 , an external storage  145 , a LAN device  146 , a frame buffer  147  and a graphics processor unit (hereinafter, referred to as a GPU)  148 .  
         [0108]    The CPU  141  controls the entire computer according to a program stored in the memory  142 .  
         [0109]    The memory  142  is a memory device such as a DRAM or a SRAM for reading and writing of data by the CPU  141  at a high speed and stores programs and data.  
         [0110]    The bridge unit  143  is a connection circuit enabling the CPU  141  and the GPU  148  to transfer data with the memory  142  and the external input/output unit  144 .  
         [0111]    The external input/output unit  144  is an interface for transfer of data with the input device  11  and the external storage  145  and has a USB interface, an IDE interface, a PCI interface, etc.  
         [0112]    The external storage  145  is a large capacity storage device for storing programs and data such as a hard disk drive, a CDROM drive, an MO drive, and a memory card.  
         [0113]    The LAN device  146  is an interface for connecting an external network and the computer  14 . For example, the LAN device  146  includes a modem, an Ethernet (registered trademark) device, etc.  
         [0114]    The frame buffer unit  147  has a high speed memory for enabling the GPU  148  to temporarily store image and other data.  
         [0115]    The GPU  148  is a device supporting high speed operation of computer graphics. Further, the GPU  148  also works to output image data drawn in the frame buffer unit  147  to the external display device  142 .  
         [0116]    [0116]FIG. 4 is a block diagram of a concrete example of the configuration of the GPU  148  of FIG. 3.  
         [0117]    This GPU  148  has, as shown in FIG. 4, a processor  1481 , a RAMDAC  1482 , an inter-connect unit  1483 , a work memory  1484 , and an arithmetic operation unit  1485 .  
         [0118]    The processor  1481  performs rendering according to the routine received from the CPU  141 .  
         [0119]    The RAMDAC  1482  converts the image data stored in the frame buffer unit  147  from digital data to analog data for displaying the same on the display  12  and outputs the analog data after the conversion to the display  12 .  
         [0120]    The inter-connect unit  1483  is a connection circuit for the transfer of data between the internal portion of the GPU  148  (processor  1481 , RAMDAC  1482 , work memory  1484 , and arithmetic operator  1485 ) and external blocks (frame buffer  147  and bridge unit  143 ).  
         [0121]    The work memory  1484  is a memory used by the processor  1481  and the arithmetic operation unit  1485  and stores programs and the temporary calculation results.  
         [0122]    The arithmetic operation unit  1485  has operation units enabling the processor  1481  to efficiently perform operation for evaluation of a BRDF and mounts a composite operator etc.  
         [0123]    The computer  14  having the above configuration uses a program stored inside the computer  14  to, for example, as shown in FIG. 5, construct inside the computer  14 , particularly the CPU  141  and the GPU  148 , a logical configuration.  
         [0124]    This logical block  200  is roughly configured by three stages as shown in FIG. 5, that is, is configured by a geometric operation unit  201 , an image composition unit  202 , and a pixel operation unit  203 .  
         [0125]    The geometric operation unit  201  includes, as shown in FIG. 3, an application unit  2011 , a camera coordinate conversion unit  2012 , a perspective transformation unit  2013 , and a rasterization unit  2014 .  
         [0126]    The application unit  2011  performs predetermined information processing according to operational information from the input device  11 , generates a scene graph comprised of a plurality of polygons, and outputs the same to the camera coordinate conversion unit  2012  and the image composition unit  202 .  
         [0127]    The camera coordinate conversion unit  2012  converts the coordinates of the polygons to a coordinate system based on the coordinates of a virtual camera and outputs the same to the perspective transformation unit  2013 .  
         [0128]    The perspective transformation unit  2013  projects the coordinates of the polygons to a two-dimensional projection plane of the virtual camera.  
         [0129]    The rasterization unit  2014  breaks down each polygon to pixels matching with the resolution characteristic of the display  12  and outputs the same to the pixel operation unit  203 .  
         [0130]    The image composition unit  202  includes, as shown in FIG. 5, an image buffer  2021  and an image composition operation unit  2022 .  
         [0131]    The image buffer  2021  is a memory used for storing and holding images generally referred to as a frame buffer and temporarily holds the data of the operation results of the pixel operation unit  203 , the operation results of the image composition operation unit  2022 , and the data to be displayed on the display  12 .  
         [0132]    The image composition operation unit  2022  performs image composition such as weighted composition of images with respect to the image data stored in the image buffer  2021  (for example refer to Foley, COMPUTER GRAPHICS principles and practice, pp. 835, Section 17.6: Image Compositing). The pixel operation unit  203  performs the lighting calculations for each pixel based on the information prepared at the rasterization unit  2014  by operations executed for every pixel, i.e., a smaller unit than that of a polygon.  
         [0133]    The pixel operation unit  203  includes, as shown in FIG. 5, a BRDF operation unit  2031 , a lookup unit  2032 , a power operation unit  2033 , a scale operation unit  2034 , and a texture map  2035 .  
         [0134]    The BRDF operation unit  2031  evaluates and processes the BRDF model according to the present invention defined using the quadratic-form mentioned in detail later as follows:  
                     quad                   BRDF        (     L   ,   V   ,     N   ;   M       )         =                LM   11        L     +       VM   22        V     +       LM   21        V     +                                LM   31        N     +       VM   32        N     +       NM   33        N       =                                            t          [           L   x               L   y               L   z           ]              [           m   11           m   12           m   13             0         m   22           m   23             0       0         m   33           ]            [           L   x               L   y               L   z           ]       +                                      t          [           V   x               V   y               V   z           ]            [           m   44           m   45           m   46             0         m   55           m   56             0       0         m   66           ]            [           V   x               V   y               V   z           ]       +                                      t          [           L   x               L   y               L   z           ]            [           m   14           m   15           m   16               m   24           m   25           m   26               m   34           m   35           m   36           ]            [           V   x               V   y               V   z           ]       +                           t                 [           L   x               L   y               L   z           ]              [           m   19               m   29               m   39           ]     +             t          [           V   x               V   y               V   z           ]            [           m   49               m   59               m   69           ]       +                        m   99                   (   4   )                               
 
         [0135]    Here, L and V indicate vectors representing the directions of the light source and the viewpoint input from the rasterization unit  2014 . N indicates a vector of (0, 0, 1) representing the direction of the normal. M indicates a parameter representing the nature of the BRDF according to the present invention input from the lookup unit  2032 .  
         [0136]    When all elements of the sub matrix are 0, the value of the term will clearly become 0. At that time, the operations for that term can be omitted.  
         [0137]    Further, when a composition operation unit is used, LM 21 V, (LM 11 L+LM 31 N), and (VM 22 V+VM 32 N) can be computed at about the same cost. Due to this, improvement of the efficiency of utilization of hardware resources is achieved.  
         [0138]    The lookup unit  2032  looks up the parameters corresponding to the pixels from the texture map  2035  according to addresses input from the rasterization unit  2014 . The obtained parameters are used as parameters of the function operations to be performed at the BRDF operation unit  2031 , the power operation unit  2033 , and the scale operation unit  2034 .  
         [0139]    In the present embodiment, as will be explained in detail later, in order to handle a BRDF having an expression-hard to reproduced by a single BRDF according to the present invention, the evaluation value of the BRDF operation unit  2031  is changed at the power operation unit  2033  and the scale operation unit  2034 .  
         [0140]    The power operation unit  2033  cumulatively multiplies the evaluation values input from the BRDF operation unit  2031  as in the following equation:  
         Power= quadBRDF   (1/glossiness)    (5)  
         [0141]    The scale operation unit  2034  performs an operation for multiplying a value “Power” input from the power operation unit  2033 , an intensity “LightIntensity” of the light source input from the rasterizer  2014 , and a reflectivity “Reflectivity” for each of RGB input from the lookup unit  2032  as in the following equation:  
                     ResultIntensity   R     =       Reflectivity   R     ·     LightIntensity   R     ·   Power                   ResultIntensity   G     =       Reflectivity   G     ·     LightIntensity   G     ·   Power                   ResultIntensity   B     =       Reflectivity   B     ·     LightIntensity   B     ·   Power                   (   6   )                               
 
         [0142]    The scale operation unit  2034  writes the “ResultIntensity” obtained based on equation  6  into the image buffer  2021 .  
         [0143]    The data written in the image buffer  2021  is combined by the image composition at the image composition operation unit  2022 . By this processing, one polygon is generated a plurality of times while changing the shading parameter by multi-path rendering and the results are combined to obtain the intended shading result image.  
         [0144]    Next, an explanation will be given of an example of the operation when an image composition unit is utilized in relation to the flow charts of FIG. 6 and FIG. 7. Utilizing the image composition unit of the present embodiment and the technique generally referred to as multi-path rendering, one polygon is rendered a plurality of times and the rendered results are combined in accordance with the image compositing technique to draw one polygon.  
         [0145]    This routine will be explained by referring to the flow chart of FIG. 6.  
       Step ST 1 : Multi-Path Rendering Initialization  
       [0146]    First, at step ST 1 , the initialization required for the multi-path rendering is carried out. For example, the data of the image buffer where the polygon is to be generated is erased and an image graph expressing the graphic generation routine and work contents is set.  
       Step ST 2 : Traverse  
       [0147]    At step ST 2 , the image graph is traversed and the graphic drawing of one path is set up.  
       Step ST 3 : One Path Drawing  
       [0148]    At step ST 3 , the geometric operation unit  201  and the pixel operation unit  203  generate one path&#39;s worth of polygons in the image buffer  2021 .  
       Step ST 4 : Image Composition  
       [0149]    At step ST 4 , the polygons drawn in the present step or the previous step are combined or the required image processing is carried out.  
       Step ST 5 : Judgment of Multi-path Completion  
       [0150]    At step ST 5 , it is judged if all paths&#39; worth of the graphics drawing were completed. In the multi-path completion judgment, if in the middle, the processing routine returns to the processing from step ST 2 , where the next path is set up, then the processing is continued until the multi-path rendering is finally completed.  
         [0151]    In the above routine, the detailed routine for the drawing of one path&#39;s worth of graphics at step ST 3  becomes as shown in FIG. 5.  
       Step ST 11 : Camera Coordinate Conversion  
       [0152]    First, at step ST 11 , the polygons of the model coordinate system are converted to the camera coordinate system by the camera coordinate conversion unit  2012 .  
       Step ST 12 : Perspective Transformation  
       [0153]    At step ST 12 , the polygons are projected to the screen coordinates by the perspective transformation unit  2013 .  
       Step ST 13 : Initialization of Interpolation Parameters  
       [0154]    At step ST 13 , the rasterization unit  2014  initially sets the texture address, the light source direction, the viewpoint direction, and other values found by interpolation for pixels inside a polygon.  
       Step ST 14 : Interpolation of Interpolation Parameters  
       [0155]    Next, at step ST 14 , the rasterization unit  2014  finds the texture address, the light source direction, the viewpoint direction, etc. by interpolation for every pixel.  
       Step ST 15 : Texture Look Up  
       [0156]    At step ST 15 , the lookup unit  2032  looks up the value of the texels from the texture data according to the texture address.  
       Step ST 16 : BRDF Calculation  
       [0157]    Next, at step ST 16 , the BRDF operation unit  2031  performs operation to evaluate the BRDF model according to the present invention.  
       Step ST 17 : Power Operation  
       [0158]    At step ST 17 , the power operator  2033  raises the evaluation result obtained at the previous step ST 16  to the power.  
       Step ST 18 : Scale Operation  
       [0159]    At step ST 18 , the scale operation unit  2034  scales the result obtained at the previous step ST 17 .  
       Step ST 19 : Writing into Image Buffer  
       [0160]    At step ST 19 , the results obtained at the previous step ST 18  are written into the image buffer  2021 .  
       Step ST 20 : Judgment of Completion of Rasterization  
       [0161]    At step ST 20 , it is judged whether or not the rasterization is completed. The processing from step ST 14  is repeated until all pixels in all polygons are drawn.  
         [0162]    Next, a detailed explanation will be given of the BRDF model according to the present invention and the operation for evaluation of it.  
       BRDF Modeling Using Quadratic Form  
       [0163]    In the present embodiment, the BRDF is modeled as follows by using the quadratic form (hereinafter this model will be referred to as the “BRDF model of the present invention”).  
               quad                 BRDF        (     L   ,   V   ,     N   ;   M       )       =                            t          [         L           V           N         ]              [           M   11           M   21           M   31             0         M   22           M   32             0       0         M   33           ]            [         L           V           N         ]               (   7   )                               
 
         [0164]    Here, the matrix M is a parameter for determining the characteristics of the BRDF model of the present invention. Due to the nature of the equation, any M can be simplified to a symmetric matrix or a triangle matrix. Further, L indicates the vector representing the light source direction in a surface coordinate system. V indicates the vector representing the viewpoint direction in the surface coordinate system. N indicates the vector representing the normal direction in the surface coordinate system.  
         [0165]    The BRDF model of the present invention uses a vector [LVN] comprised of arranging the above L, V, and N.  
         [0166]    For example, each L, V, N may be a three-dimensional unit vector representing the direction of each. This can be concretely written as follows:  
                     quad                   BRDF        (     L   ,   V   ,     N   ;   M       )         =                            t          [         L           V           N         ]              [           M   11           M   21           M   31             0         M   22           M   32             0       0         M   33           ]            [         L           V           N         ]                   =               t          [           L   x               L   y               L   z               V   x               V   y               V   z             0           0           1         ]            [           m   11           m   12           m   13           m   14           m   15           m   16           m   17           m   18           m   19             0         m   22           m   13           m   24           m   25           m   26           m   27           m   28           m   29             0       0         m   33           m   34           m   35           m   36           m   37           m   38           m   39             0       0       0         m   44           m   45           m   46           m   47           m   48           m   49             0       0       0       0         m   55           m   56           m   57           m   58           m   59             0       0       0       0       0         m   66           m   67           m   68           m   69             0       0       0       0       0       0         m   77           m   78           m   79             0       0       0       0       0       0       0         m   88           m   89             0       0       0       0       0       0       0       0         m   99           ]                  [           L   x               L   y               L   z               V   x               V   y               V   z             0           0           1         ]                   (   8   )                               
 
         [0167]    Further, each L, V, and N may be a vector represented by using other vector space too. For example, it is also possible to use a general coordinate system such as a pole coordinate system or quaternion. It is also possible to use another special coordinate system.  
         [0168]    Further, it is also possible to regress the order using an appropriate linear conversion. Other than this, it is possible to use any elementary processing or table reference or combination of the same to convert these vectors. In the following example, use is made of a model obtained by regressing L and V of the three-dimensional vector to two dimensions and a model obtained by converting N to the constant 1.  
               quad                   (     L   ,   V   ,     N   ;   M       )       =               t                t          [           L   x               L   y               V   x               V   y             1         ]              [           m   11           m   12           m   14           m   15           m   19             0         m   22           m   24           m   25           m   29             0       0         m   44           m   45           m   49             0       0       0         m   55           m   59             0       0       0       0         m   99           ]            [           L   x               L   y               V   x               V   y             1         ]               (   9   )                               
 
       Details of Calculation Method  
       [0169]    In the BRDF model of the present invention, it is also possible to divide the matrix representing the parameters of the model into sub matrixes as follows and perform the processing for evaluation using a polynomial comprised of these sub matrixes.  
           quadBRDF ( L,V,N;M )= LM   11   L+VM   22   V+LM   21   V+LM   31   N+VM   32   N+NM   33   N    (10)  
         [0170]    If the sub matrix M nn  is a zero matrix, the value of the term thereof clearly becomes 0. That is, the calculation of that term can be omitted. In actual mounting, it is more efficient to mount just the required terms.  
         [0171]    In the next matrix expression, if calculated as follows, the number of the required multipliers can be reduced.  
                 LM   21        V     =                              t          [           L   x               L   y               L   z           ]              [           m   14           m   15           m   16               m   24           m   25           m   26               m   34           m   35           m   36           ]            [           V   x               V   y               V   z           ]       =         L   x          (         m   14          V   x       +       m   15          V   y       +       m   16          V   z         )       +       L   y     (                    m   24          V   x       +       m   25          V   y       +       m   26          V   z         )     +       L   z          (         m   34          V   x       +       m   35          V   y       +       m   36          V   z         )                   (   11   )                               
 
         [0172]    After multiplication of the matrix and the vectors, calculation is possible by the routine of multiplying the vectors. This results in 12 multiplication operations and eight addition operations.  
         [0173]    On the other hand, the equation can also become a format expanding the terms as follows. In this case, 18 multiplication operations and eight addition operations become necessary.  
           LM   21   V=m   14   L   x   V   x   +m   15   L   x   V   y   +m   16   L   x   V   z   +m   24   L   y   V   x   +m   25   L   y   V   y   +m   26   L   y   V   z   +m   34   L   z   V   x   +m   35   L   z   V   y   +m   36   L   z   V   z    (12)  
         [0174]    As a result, it is more efficient to perform the calculation by the former (equation 11) method.  
         [0175]    As described above, the BRDF of the present invention is comprised of only product-sum operations. Further, since this is an equation comprised of vectors and a matrix, efficient processing is possible.  
       Shading Effect of BRDF of Present Invention  
       [0176]    The shading effect of the BRDF of the present invention is determined according to the parameters M. Below, an explanation will be given of the correspondence between the shading effect and the parameters.  
         [0177]    0 in the parameters M is a zero matrix. M nn  is a sub matrix wherein at least one element is not 0.  
         [0178]    The “ambient lighting effect” is an effect independent of the light source direction and the viewpoint direction. The “diffuse reflection effect” is an effect dependent upon the light source direction and independent from the viewpoint direction. The “specular reflection effect” is an effect dependent upon the light source direction and the viewpoint direction. Each can be expressed by the parameters M having one or more sub matrixes not zero matrixes as follows.  
       Ambient Lighting Effect Parameter  
       [0179]    [0179]             M   =     [         0       0       0           0       0       0           0       0         M   33           ]             (   13   )                                 
       Diffuse Reflection Effect Parameter  
       [0180]    [0180]             M   =     [         0       0         M   31             0       0       0           0       0       0         ]             (   14   )                                 
       Specular Reflection Effect Parameter  
       [0181]    [0181]             M   =     [         0         M   21         0           0       0       0           0       0       0         ]             (   15   )                                 
       Light Source Direction Dependent Effect Parameter  
       [0182]    [0182]             M   =     [           M   11         0         M   31             0       0       0           0       0       0         ]             (   16   )                                 
       Viewpoint Direction Dependent Effect Parameter  
       [0183]    [0183]             M   =     [         0       0       0           0         M   22           M   32             0       0       0         ]             (   17   )                                 
       Total Effect Parameter  
       [0184]    [0184]             M   =     [           M   11           M   21           M   31             0         M   22           M   32             0       0         M   33           ]             (   18   )                                 
       Correspondence with Conventional Model  
       [0185]    The BRDF of the present invention has effects including the conventionally well known shading models.  
         [0186]    Below, a description will be given of the correspondence between the expressions of the conventional models and details of the parameters in the BRDF of the present invention.  
       Ambient Lighting Model k a    
       [0187]    [0187]             M   =       [         0       0       0           0       0       0           0       0         M   33           ]                     (       where                   M   33       =     [         0       0       0           0       0       0           0       0         k   a           ]       )               (   19   )                                 
       Diffuse Reflection Model k a  (N·L)  
       [0188]    [0188]             M   =       [         0       0         M   31             0       0       0           0       0       0         ]                     (       where                   M   31       =     [         0       0       0           0       0       0           0       0         k   d           ]       )               (   20   )                                 
       Phong Reflection Model k s  (V·L) n    
       [0189]    (raise evaluation results of BRDF of present invention to n-th power matching with n-th power of Phong model)  
             M   =       [         0         M   21         0           0       0       0           0       0       0         ]                     (       where                   M   21       =     [           -     k   s           0       0           0         -     k   s           0           0       0         k   s           ]       )               (   21   )                               
 
       Lafortune-BRDF  
       [0190]    ρ s  [C x u x v x +C y u y v y +C z u z v z ] n : (raise evaluation result of BRDF of present invention to n-th power and multiply by ρ s  matching with n-th power and ρ s  multiplication of Lafortune-BRDF).  
             M   =       [         0         M   21         0           0       0       0           0       0       0         ]                     (       where                   M   21       =     [           C   x         0       0           0         C   y         0           0       0         C   z           ]       )               (   22   )                               
 
       Polynomial Texture Map  
       a 0 l u   2 +a 1 l v   2 +a 1 l u l v +a 3 l u +a 4 l v +a 5 :                M   =       [           M   11         0         M   31             0       0       0           0       0         M   33           ]                     (         where                   M   11       =     [           a   0           a   2         0           0         a   1         0           0       0       0         ]       ,           M   31          [         0       0         a   3             0       0         a   4             0       0       0         ]            M   33       =     [         0       0       0           0       0       0           0       0         a   5           ]         )                            (   23   )                                 
         [0191]    As described above, if using the BRDF of the present invention, it is possible to realize a model equivalent to conventional shading models by suitably setting the parameters and to express their effects. Further, it is also possible to manifest combined effects by combining these settings or effects including these effects.  
       Case Where Viewpoint Direction Dependent Effect Is Unnecessary  
       [0192]    When a viewpoint direction dependent effect is unnecessary, the BRDF of the present invention can be modified as follows:  
               quadBRDF        (     L   ,   V   ,     N   ;   M       )       =           [         L           N         ]     1          [           M   11           M   21           M   31             0       0         M   33           ]                  [         L           V           N         ]             (   24   )                               
 
         [0193]    The above equation includes at least the effects able to be expressed by the two models of the conventional Lafortune-BRDF and polynomial texture maps. The fact that M 21  corresponds to Lafortune-BRDF, and M 11 , M 31 , and M 33  correspond to polynomial texture maps was explained before. It is seen that the parameter matrix M stands from the set of sub matrixes of these two models. In addition, sub matrixes corresponding to these models occupy locations exclusive of each other. Therefore, it can be considered that the effects are independent from each other. That is, this modified BRDF of the present invention has at least effects including complementary effects possessed by the polynomial texture maps and the Lafortune-BRDF and has characteristics enabling independent control of these effects.  
       Method for Coping with BRDF Having Expression Hard to Reproduce by Single BRDF of Present Invention  
       [0194]    For a BRDF having an expression hard to reproduce by a single BRDF of the present invention, it is possible to combine the evaluation results of one or more BRDFs of the present invention by various operations to create the intended BRDF.  
         [0195]    For example, a tree is created using the outputs of the BRDFs of the present invention as the terminal nodes and, as shown in FIG. 8, using various operation units OP 1  to OP 3  as intermediate nodes, and the output of the root node is used as the value of the intended BRDF. For the operation units OP 1  to OP 3 , addition/subtraction, multiplication, division, cumulative multiplication, quadratic-form, and other operation units are selectively used.  
         [0196]    For example, when desiring to control the directivity of specular reflection used in Phong shading and Lafortune-BRDF, the evaluation result of the BRDF of the present invention may be raised to the n -1  power (or raised to the n-th power) as follows:  
           I=a ·( quadBRDF ( L,V )) b/n    (25)  
         [0197]    When desiring to more clearly bring out the self shadow or view dependent effect, it is possible to multiply the evaluation results of BRDF models of the present invention having different parameters as follows:  
           I=quadBRDF ( L,V,N;M   1 )· quadBRDF ( L,V,N;M   2 )   (26)  
         [0198]    Further, it is also possible to use the 22nd order format matrix operator used in the evaluation of the BRDF model of the present invention. As shown in the following equation, it is also possible to combine the evaluation results of different BRDF models of the present invention.  
                 BRDF   1          (       quadBRDF   2     ·     quadBRDF   3       )       =           1            [           quadBRDF   2               quadBRDF   3             1         ]                  [           k   11           k   21           k   31             0         k   22           k   32             0       0         k   33           ]          [           quadBRDF   2               quadBRDF   3             1         ]                     (   27   )                               
 
         [0199]    Here, quadBRDF 2  and quadBRDF 3  indicate the evaluation results of different BRDF models of the present invention, and BRDF 1  indicates the combined result thereof.  
       Simultaneous Calculation of Triangle Matrix and Matrix  
       [0200]    In order to efficiently perform the operation for evaluation of the BRDF of the present invention, as already explained, it is possible to use a format breaking down the BRDF of the present invention into a plurality of terms comprised of sub matrixes as follows.  
           quadBRDF ( L,V,N;M )= LM   11   L+VM   22   V+LM   21   V+LM   31   N+VM   32   N+NM   33   N    (28)  
         [0201]    Among these, LM 21 V, (LM 11 L+LM 31 N), and (VM 22 V+VM 32 N) can be calculated by a combination of the same amount of operation units. Therefore, when forming a composition operation unit able to selectively perform these three types of operation, the mount efficiency is good.  
         [0202]    Let us look at the above three types of operations in detail.  
         [0203]    First, the matrix operation LM 21 V comprised of the following two different vectors is comprised of  12  multiplication operations and eight addition operations.  
                 LM   21        V     =           1            [           L   x               L   y               L   y           ]                    [           m   14           m   15           m   16               m   24           m   25           m   26               m   34           m   35           m   36           ]          [           V   x               V   y               V   z           ]            
                =         L   x          (         m   14          V   x       +       m   15          V   y       +       m   16          V   z         )       +       L   y          (         m   24          V   x       +       m   25          V   y       +       m   26          V   z         )       +       L   z          (         m   34          V   x       +       m   35          V   y       +       m   36          V   z         )                         (   29   )                               
 
         [0204]    Next, a sum (LM 11 L+LM 31 N) of the quadratic-form matrix and vector multiplication comprised of the next triangle matrix becomes an operation comprised of 12 multiplication operations and eight addition operations obtained by adding two terms comprised of nine multiplication operations and five addition operations and three multiplication operations and two addition operations:  
                         LM   11        L     +       LM   31        N       =                        t          [           L   x               L   y               L   z           ]            [           m   11           m   12           m   13             0         m   22           m   23             0       0         m   33           ]            [           L   x               L   y               L   z           ]       +                                    t          [           L   x               L   y               L   z           ]            [         0       0         m   19             0       0         m   29             0       0         m   39           ]            [         0           0           1         ]                   =                        t          [           L   x               L   y               L   z           ]            [           m   11           m   12         0           0         m   22           m   23               m   13         0         m   33           ]            [           L   x               L   y               L   z           ]       +                    t          [           L   x               L   y               L   z           ]       ·     [           m   19               m   29               m   39           ]                     =            {         L   x          (         m   11          L   x       +       m   12          L   y         )       +       L   y          (         m   22          L   y       +       m   23          L   z         )       +                                L   z          (         m   13          L   x       +       m   33          L   z         )       }     +     {         m   19          L   x       +       m   29          L   y       +       m   39          L   z         }                   (   30   )                               
 
         [0205]    Further, (VM 22 V+VM 32 N) is comprised of 12 multiplication operations and eight addition operations in the same way as the above.  
         [0206]    That is, three types of operations, that is, LM 21 V, (LM 11 L+LM 31 N) , and (VM 22 V+VM 32 N), may be carried out by the composition operation units COP 1  and COP 2  as shown in FIG. 9 having a first mode and second mode using combinations of the same amount of operation units by selecting either one from among these three types.  
         [0207]    [0207]FIG. 10 is a view of an example of the operation circuit for realizing FIG. 9.  
         [0208]    This operation circuit  300  is configured by, as shown in FIG. 10, connecting the multipliers  301  to  311 , the adders  312  to  317 , and the registers  318  to  322  in a tree.  
         [0209]    This operation circuit  300  can operate in a first mode and a second mode.  
         [0210]    In the first mode, it performs an operation by a circuit configuration excluding the adders  313  and  317  and the registers  318 ,  320 , and  322 .  
         [0211]    In the second mode, it performs an operation by a circuit configuration excluding the output of the multiplier  304  to the adder  314 , the output of the multiplier  308  to the adder  315 , and the register  321 .  
         [0212]    In this way, the operation circuit  300  can realize the operations of the first mode and the second mode using the same operation circuit by just changing part of the interconnects.  
       Shift-Variant BRDF  
       [0213]    As shown in FIG. 11, a texture map is formed using the matrix M as the texels. At the time of execution, the matrix M is looked up from the texture map and used as a parameter of the BRDF of the present invention.  
         [0214]    In this case, the matrix M is supplied from a texture map  402  to a BRDF evaluation operation unit  401 , while the vectors L, V, and N are supplied from an interpolator  403 . Then, the operation result of the BRDF evaluation operation unit  401  is stored in a frame buffer  404 .  
         [0215]    For the sampling problem of the texture map generated due to the scaling of the surface to be drawn with respect to the view coordinate system, the parameters of the BRDF of the present invention may be converted to a MIPMAP (plurality of resolution textures) in the same way as the conventional method.  
         [0216]    The following equation indicates that when a parameter m 11-99  is sampled n times for a patch Ω on the surface, the value obtained by averaging the BRDF of the present invention calculated for the patch region and the result of calculation of the BRDF of the present invention using the parameters averaged for the same patch region are equal.  
                 1   n            ∑     i   ,     j   ∈   Ω              quadBRDF        (       m     11        -        99            (       u   i     ,     v   j       )       )           =     quadBRDF        (       1   n            ∑     i   ,     j   ∈   Ω                m     11        -        99            (       u   i     ,     v   j       )           )               (   31   )                               
 
         [0217]    That is, by using the conventional MIPMAP and bi-linear and tri-linear filtering, the above sampling problem can be solved.  
       Method for Acquiring Parameters and Calculating Power Utilizing Index Map  
       [0218]    It may also be considered to use the index colors which have been used in conventional texture mapping to obtain a table indexing parameters of the BRDF model of the present invention and a conversion table for calculating the power and refer to this.  
         [0219]    [0219]FIG. 12 is a view of the configuration of a logical circuit using an index map. FIG. 12 shows the logical block  200  of FIG. 5 explained in the above concrete embodiment but made more generalized in configuration.  
         [0220]    In FIG. 12, 500 indicates an index map,  501  a rasterization unit,  502  a lookup unit,  503  a parameter list,  504  a BRDF operation unit,  505  a power list,  506  a power processing unit, and  507  a scale processing unit.  
         [0221]    An index corresponding to a location on the surface of a generated object is looked up from the index map  500  by the lookup unit  502  to obtain the parameters and power list corresponding to that index. The obtained parameters are used for calculation of the BRDF of the present invention. The power value of the evaluation result of the BRDF of the present invention is obtained by referring to a value corresponding to the evaluation result from the power list and performing appropriate interpolation. The result becomes the intended power value.  
       Method of Calculation of Parameters of BRDF of Present Invention  
       [0222]    As shown in FIG. 13, the parameters used in the BRDF of the present invention can be obtained from BRDF raw data obtained by observing the characteristics of clothing, skin, or other material in the real world by a special device or BRDF raw data obtained as a result of calculation of the reflection characteristics of these materials by simulation.  
         [0223]    Below, an explanation will be given of a method of finding the parameters to be used in the BRDF of the present invention from the BRDF raw data. When a reflectivity r (k)  of raw BRDF data corresponding to the light source direction L (k)  and the viewpoint direction V (k)  is known, the parameter M is applied to the BRDF model of the present invention as an unknown number.  
               r     (   k   )       =                      t          [           L     (   k   )                 V     (   k   )               N         ]            [           M   11           M   21           M   31             0         M   22           M   32             0       0         M   33           ]            [           L     (   k   )                 V     (   k   )               N         ]               (   32   )                               
 
         [0224]    If developing this equation, the following polynomial is obtained.  
           r   (k)   =m   11   w   (k),11   +m   12   w   (k),12   + . . . +m   99   w   (k),99    (33)  
         [0225]    Here, w (k),11-99  is the multiplier corresponding to the unknown number m 11-99  obtained from L (k) , V (k) , and N. When there are n number of sets of observation data, n number of equations comprised of the above equations are obtained. If a coefficient m 11-99  satisfying these n number of equations best is found, the parameter M can be found.  
         [0226]    In order to find this, it is possible to use least square approximation so as to make the average of the squares of the difference between values of the two sides of the above equation as small as possible.  
       Method of Simply Creating Specular Component from Polynomial Texture Map Parameters  
       [0227]    The effect of the specular component which can be used in the BRDF of the present invention can be simply created from polynomial texture map parameters.  
         [0228]    First, assume that the following two distributions are the same (refer to FIG. 14).  
         [0229]    Namely, there are a diffuse reflectivity distribution corresponding to the light source direction and a specular reflectivity distribution corresponding to the half vector direction.  
         [0230]    From this assumption, the effect of the specular component can be created by the following equation:  
           I=PTM ( L )+ k·PTM ( H ) n    (34)  
         [0231]    Here, PTM is the evaluation formula of the polynomial texture map model.  
         [0232]    The second term on the right side of the above equation can be written in more detail as follows:  
                     PTM        (     H   ;       a   0                   …                   a   5         )       =                      t          [           H   x               H   y             1         ]            [           a   0           a   2           a   3             0         a   1           a   4             0       0         a   5           ]            [           H   x               H   y             1         ]                   =                      t          [             L   x     +       V   x     /   2                   L   y     +       V   y     /   2               1         ]            [           a   0           a   2           a   3             0         a   1           a   4             0       0         a   5           ]            [             L   x     +       V   x     /   2                   L   y     +       V   y     /   2               1         ]                     (   35   )                               
 
         [0233]    When inserting this equation in the parameter matrix of the BRDF of the present invention, the result is as follows:  
                     PTM        (     H   ;       a   0                   …                   a   5         )       =              quadBRDF     PTM        (   H   )              (     L   ,   V   ,     N   ;       a   0                   …                   a   5           )                   =                      t          [           L   x               L   y               L   z               V   x               V   y               V   z             0           0           1         ]            [             a   0     /   4             a   2     /   4         0           a   0     /   2             a   2     /   4         0       0       0           a   3     /   2             0           a   1     /   4         0           a   2     /   4             a   1     /   2         0       0       0           a   4     /   2             0       0       0       0       0       0       0       0       0           0       0       0           a   0     /   4             a   2     /   4         0       0       0           a   3     /   2             0       0       0       0           a   1     /   4         0       0       0           a   4     /   2             0       0       0       0       0       0       0       0       0           0       0       0       0       0       0       0       0       0           0       0       0       0       0       0       0       0       0           0       0       0       0       0       0       0       0         a   5           ]            [           L   x               L   y               L   z               V   x               V   y               V   z             0           0           1         ]                     (   36   )                               
 
         [0234]    With the above as it is, the effect is the same as giving a half vector to the polynomial texture map. However, if giving appropriate change to the parameters by utilizing a pseudo normal direction or the like obtained from the above parameters, anistropy or another effect may be obtained. The BRDF model of the present invention is advantageous for future expanded effects.  
         [0235]    Summarizing the above, the evaluation result using the simple specular effect is found by the following equation:  
           I=quadBRDF   PTM(L) ( L,V,N )+ k·quadBRDF   PTM(H) ( L,V,N ) n    (37)  
         [0236]    As explained above, the BRDF model of the present invention has an effect which cannot be obtained even if combining the effects possessed by conventional shading models.  
         [0237]    In the section on “correspondence with conventional models”, the correspondence between the conventional shading algorithm Lafortune-BRDF or polynomial texture maps etc. and the BRDF model of the present invention is explained. When determining an appropriate parameter M according to the explanation here, equivalent effects to those by the conventional shading can be rendered by the BRDF model of the present invention.  
         [0238]    In color engineering, it is generally known that the effects of individual light may be added in order to superimpose the effects of different light. The BRDF model of the present invention has linearity and enables superimposition of effects by adding different parameters M.  
         [0239]    However, no matter how the parameters M corresponding to the conventional shading algorithm are combined by weighted addition, the space of the parameters M of the BRDF model of the present invention cannot be completely filled.  
         [0240]    Accordingly, the BRDF model of the present invention has a new effect which does not exist in the conventional shading models.  
         [0241]    Further, a case where the algorithm of the present invention is designed based on the conventional circuit will be considered.  
         [0242]    When comparing this with the general purpose operation unit, the operation unit of FIG. 9 (concretely FIG. 10) is specified so as to be able to efficiently process two operation modes peculiar to the BRDF of the present invention. Accordingly, more efficient processing can be carried out than the case where this is processed by a general purpose operation unit.  
         [0243]    Further, this is compared with a register combiner which is a special operation unit provided in the graphics processor of NVIDIA as a special operation unit.  
         [0244]    The configuration inside the register combiner more detailed than FIG. 2 is not clear. However, even if considered with the degree of detail of FIG. 2, the inefficiency of a register combiner is clear.  
         [0245]    [0245]FIG. 15 shows the function of the first mode of FIG. 9 realized by using the register combiner of FIG. 2.  
         [0246]    Further, FIG. 16 shows the function of the second mode of FIG. 9 realized by using the register combiner of FIG. 2. It is necessary to combine these three register combiners CMB 1  to CMB 3  in three stages in this case.  
         [0247]    Irrespective of the fact that the operations of the first two stages among three stages can be performed at the same time, the operations must be carried out divided into two steps. Therefore, the delay in the calculations is large. Further, in the first mode, the efficiency of utilization of the operation circuit in two register combiners among the three is halved.  
         [0248]    The efficiency of utilization of the operation circuit in one register combiner among the three is halved in the second mode.  
         [0249]    Accordingly, it is inefficient if the BRDF model of the present invention is processed by the register combiner as the prior art.  
         [0250]    As described above, as explained above, the present invention uses a generalized model of the shading models conventionally used for real time applications, so can exhibit the effects equivalent to those by the conventional models. Further, it can exhibit unique effects provided by this model.  
         [0251]    From BRDF raw data found by observing real materials such as the clothing and skin or by simulation, the parameters for the BRDF model according to the present invention can be generated. Further, it is also possible to obtain the parameters of the BRDF according to the present invention using the parameters of conventional models such as polynomial texture maps as materials.  
         [0252]    The BRDF according to the present invention is obtained by modeling a BRDF by a quadratic-form matrix expression, so the model can be evaluated by just product-sum operations. If breaking down the BRDF according to the present invention to the form of polynomials comprised of sub matrixes, calculation of unrequired terms can be omitted. By this, the tradeoff between the expression power and the calculation efficiency can be adjusted.  
         [0253]    Further, since this is the model comprised of vectors and a matrix, a vector operation unit can be used for efficient operation.  
         [0254]    The form of expression is compact compared with conventional BRDF expression frequently using table reference. Further, since the tradeoff between the expression power and the calculation efficiency can be adjusted, processing by a further compact form of expression is possible.  
         [0255]    Due to this compactness, it is easy to combine this with texture mapping for obtaining a shift-variant format. The parameter M of the model may be stored in the table and looked up at the time of execution.  
         [0256]    Since the BRDF was modeled with a quadratic-form matrix expression, so long as hardware designed especially for a general vector and/or matrix operation is used, this model can be efficiently evaluated. The BRDF according to the present invention does not need a special circuit for evaluation of the model. However, if there is the already explained composition operation unit, the BRDF according to the present invention can be further efficiently processed.  
         [0257]    While the invention has been described with reference to specific embodiments chosen for purpose of illustration, it should be apparent that numerous modifications could be made thereto by those skilled in the art without departing from the basic concept and scope of the invention.