WO2006048961A1 - 描画処理装置および描画処理方法 - Google Patents
描画処理装置および描画処理方法 Download PDFInfo
- Publication number
- WO2006048961A1 WO2006048961A1 PCT/JP2005/013181 JP2005013181W WO2006048961A1 WO 2006048961 A1 WO2006048961 A1 WO 2006048961A1 JP 2005013181 W JP2005013181 W JP 2005013181W WO 2006048961 A1 WO2006048961 A1 WO 2006048961A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- normal
- normal vector
- map
- level
- vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
Definitions
- the present invention relates to a drawing processing technique in computer graphics, and more particularly to a drawing processing apparatus and a drawing processing method for mapping a normal vector onto a surface to be drawn.
- a polygon model that represents an object in a three-dimensional space with a large number of polygons is generally used.
- shading is performed to shade the polygon surface in consideration of the light source, viewpoint position, and reflectance of the object surface.
- texture mapping is performed by attaching a texture image to the surface of the polygon model in order to generate a highly realistic image.
- An image generated by texture mapping can greatly improve the expressive power of color, but cannot express irregularities on the surface of an object.
- bump mapping which applies the idea of texture mapping, as a method for easily expressing irregularities on the surface of an object.
- a normal vector is mapped on the surface of an object instead of a texture to generate a pseudo normal vector on the surface of the object.
- the pseudo-normal vector generated in this way is the normal direction of the surface of the object, shading processing is performed, the luminance value of the surface is obtained, and shading is performed. As a result, the unevenness is artificially expressed on the object surface.
- each texture pixel has an index of a color value that does not have a color value.
- An index color method may be used that refers to a look-up table and converts it to an actual color value.
- a color sample in which color values are defined in advance is prepared as a color lookup table, and only the index information that refers to the color lookup table is stored in each pixel of the texture. For example, if your color swatch is 256 colors, Since only an 8-bit index is stored in each pixel of the image, the amount of texture image data can be greatly reduced, and the amount of memory used for texture mapping can be saved.
- Patent Document 1 the present applicant has proposed a bump mapping method using a color lookup table used for color conversion in texture mapping as a normal vector reference table.
- Patent Document 1 Japanese Patent Laid-Open No. 2002-203255
- the present invention has been made in view of these problems, and an object of the present invention is to provide a drawing processing technique based on bump mapping which has good processing efficiency and good image quality. Means for solving the problem
- a rendering processing apparatus includes a normal map storage unit that stores a plurality of normal maps having different normal vectors as elements and having different resolutions for each resolution level; A normal vector mapping unit that generates a pseudo-normal vector on the surface by mapping the normal map having a resolution level corresponding to the drawing detail level of the surface of the drawing target object onto the surface; A set of reference normal vectors obtained by quantizing the normal direction, and a plurality of quantization tables for each resolution level storing combinations of different vector values for each resolution level, and the drawing detail level. Resolution according A normal vector replacement unit that refers to the quantization table at a degree level and replaces the pseudo-normal vector generated on the surface with any one of the reference normal vectors in the quantization table. .
- a plurality of normal maps storing normal vectors are prepared for each resolution level, and a normal map is drawn by selecting a resolution level suitable for the drawing detail level of the polygon surface. It can be mapped onto the surface of the target object. Also, by quantizing the pseudo-normal vector using a different quantization table for each resolution level, it is possible to reduce the amount of calculation of luminance and improve the image quality by suppressing the quantization error.
- each resolution level the index of each reference normal vector stored in the quantization table and the normal direction of the surface of the drawing target object are given by the reference normal vector.
- the reference formed on the surface with reference to a plurality of look-up tables for each resolution level stored in association with the luminance value of the surface and the look-up table of the resolution level corresponding to the drawing detail level It may further include a luminance value acquisition unit that acquires a luminance value for the normal vector.
- the lookup table By using the lookup table, it is not necessary to store the value of the reference normal vector as a normal map, and the memory capacity required for processing can be reduced.
- the image By preparing a lookup table that varies depending on the resolution level and switching to a lookup table with a resolution level corresponding to the drawing detail level of the drawing target object, the image can be displayed with an image quality that matches the drawing detail level of the drawing target object. Can be generated.
- the normal vector mapping unit selects the normal map having at least two different resolution levels according to the drawing detail, and maps each normal map onto the surface. Generating a normal vector of each resolution level on the surface, and the normal vector replacement unit refers to the quantization table of the at least two different resolution levels, and generates each of the generated normal vectors on the surface.
- the luminance value acquisition unit converts the lookup table of the at least two different resolution levels Referring to the reference normal vector at each resolution level on the surface, the luminance value is acquired for each resolution level, and the acquired luminance value is reduced by Also two different The final luminance value of the surface may be obtained by interpolating between resolution levels.
- Another aspect of the present invention is a drawing processing method.
- a normal map having a resolution level corresponding to the drawing detail level of the surface of the object to be drawn is mapped to the surface among a plurality of normal maps having normal vectors as elements and having different resolutions.
- Generating a pseudo-normal vector on the surface; and performing quantization according to the resolution level on the pseudo-normal vector generated on the surface to quantize the pseudo-normal vector Substituting with a reference normal vector, and obtaining a luminance value of the surface assuming that the normal direction of the surface is the reference normal vector formed on the surface.
- Yet another embodiment of the present invention is a program.
- This program maps the surface map of a normal map with a resolution level corresponding to the drawing details of the surface of the object to be drawn among a plurality of normal maps having normal vectors as elements and different resolutions.
- the pseudo normal vector generated on the surface is referred to with reference to the quantization table having a resolution level corresponding to the drawing detail level among a plurality of quantization tables for each resolution level storing Replacing each of the reference normal vectors in the quantization table with an index of each reference normal vector stored in the quantization table for each resolution level; And a plurality of lookup tables for each resolution level stored in association with the brightness value of the surface when the normal direction of the surface of the drawing target object is given by the reference normal vector.
- FIG. 1 is a configuration diagram of a drawing processing apparatus according to an embodiment.
- FIG. 2 is a diagram for explaining the VQ table in FIG. 1.
- FIG. 3 is a diagram illustrating the CLUT of FIG. 1.
- FIG. 4 is a flowchart for explaining a drawing processing procedure by bump mapping according to the embodiment.
- FIG. 5 is a diagram for explaining how luminance values are mapped onto the polygon surface by bump mapping.
- FIG. 6 is a diagram for explaining how luminance values are mapped onto the polygon surface by bump mapping by map mapping processing.
- 100 drawing processing device 102 geometry processing unit, 104 drawing processing unit, 106 bump mapping processing unit, 108 normal vector mapping unit, 110 normal vector replacement unit, 112 luminance value acquisition unit, 116 normal map storage Part, 118 texture, 120 quantized vector storage part, 121 VQ table, 122 CLUT, 124 drawing data storage part, 126 frame buffer.
- FIG. 1 is a configuration diagram of a drawing processing apparatus 100 according to the embodiment.
- the drawing processing device 100 generates drawing data to be displayed on the display device based on the model information of the 3D object, and in order to give a pseudo unevenness to the surface of the 3D object as necessary. Bump mapping process is performed.
- the geometry processing unit 102 performs geometry processing of a 3D object, and also has polygon definition information such as the shape of the polygon, its coordinate position, and the LOD (Level of Detail) value that indicates the level of detail when drawing the polygon. Generate a display list. For polygons to be bump-mapped, data indicating that they are subject to bump mapping is added. Whether or not to perform bump mapping may be determined in advance during object modeling, or may be determined dynamically during drawing processing.
- the bump mapping processing unit 106 receives the display list from the geometry processing unit 102, and performs bump mapping processing on the polygon to be bump-mapped so as to have pseudo irregularities on the polygon surface.
- the bump mapping process prepares a texture that has a normal vector as a pixel element to give pseudo unevenness to the polygon surface, maps the texture to the polygon surface according to the texture mapping method, This is done by generating a normal vector on the polygon surface and obtaining the brightness value of the polygon surface.
- the drawing processing unit 104 reads / writes drawing data from / to the frame buffer 126 provided in the drawing data storage unit 124.
- the rendering processing unit 104 maps the texture onto the polygonal surface to obtain the RGB value of each pixel on the polygonal surface, and for the polygon that has been bump-mapped by the bump mapping processing unit 106, the bump mapping processing is performed on the obtained RGB value.
- the luminance value acquired by the unit 106 is rendered, shaded to determine the final RGB value, and written to the frame buffer 126.
- the image data drawn in the frame buffer 126 in this way is converted into a video output and input to the display device, and an image of an object in which irregularities are artificially expressed on the surface is displayed by bump mapping.
- the bump mapping processing unit 106 of the present embodiment replaces the pseudo-normal vector generated on the polygon surface with the reference normal vector by vector quantization, and performs luminance calculation only for the reference normal vector. Use the "quantized bump mapping" technique to perform.
- the bump mapping processing unit 106 of the present embodiment prepares a plurality of textures with different resolutions, selects a texture with a resolution level according to the drawing detail level of the polygon surface, and maps it to the polygon surface.
- the map map a plurality of textures having different sizes are prepared, and a texture having a resolution suitable for the LOD value of the polygon is selected and mapped.
- the pixel area of the polygon and the size of the texture differ greatly, and if the texture is reduced and pasted to the polygon, aliasing occurs in the rendering result, and the image quality deteriorates significantly. .
- map map prepare textures that are 1/2, 1/4, 1/8, etc. of the original texture. For example, map a polygon with a lower resolution as the polygon is farther from the viewpoint. . As a result, it is possible to express images with less flicker and more precise than normal texture mapping.
- the normal vector mapping unit 108 specifies a polygon to be bump-mapped based on the display list generated by the geometry processing unit 102, and uses a method for providing a pseudo unevenness on the surface of the specified polygon. Map line vectors.
- Normal vector data for giving pseudo unevenness to the polygon surface is stored in the normal map storage unit 116 in the form of texture 118.
- texture 118 When the texture 118 is used in normal texture mapping, it stores the color data of each pixel.
- a normal map also called a bump map
- the normal map is obtained by differentiating the height data indicating the unevenness of the two-dimensional surface to obtain a normal vector indicating the normal direction of each pixel.
- a plurality of textures 118 are prepared for each map map resolution level (hereinafter referred to as the map map level), and the map map level is selected according to the LOD value of the polygon.
- the map map level texture 118 is used for bump mapping.
- the normal vector mapping unit 108 reads the texture 118 at the map map level corresponding to the LOD value of the polygon from the normal map storage unit 116, and stores the method 118 stored in the texture 118 by a normal texture mapping method. Paste line vector onto polygon face. As a result, the fluctuation due to the bump map is added to the normal vector indicating the original vertical direction of the polygon surface, and a pseudo normal vector is generated on the polygon surface.
- the normal vector replacement unit 110 is arranged on the polygon surface by the normal vector mapping unit 108.
- the generated pseudo-normal vector is subjected to vector quantization processing and replaced with a reference normal vector.
- vector quantization a predetermined number of reference normal vectors are defined as representative vectors for any pseudo-normal vector that can be taken on the surface of a three-dimensional object. This is done by approximating with the near normal vector.
- the number of reference normal vectors is set to be smaller than the number of pseudo-normal vectors generated on the surface of the 3D object.
- the combinations of reference normal vectors are stored in the quantized vector storage unit 120 in the form of a VQ (Vector Quantization) table 121 for each map map level.
- the VQ table 121 is a table in which the coordinate value of the reference normal vector is associated with the index of the reference normal vector.
- the combination of the reference normal vectors in the VQ table 121 is, for example, 256 normal vector vectors indicating the vertical direction of each divided plane when the sphere is divided into 256 and approximated by a 256-sided polyhedron. Consists of.
- the choice of 256 reference normal vectors is arbitrary, and 256 different reference normal vectors can be obtained by shifting the phase of the polyhedron when dividing the sphere into 256 parts. Therefore, a different combination of reference normal vectors is selected for each map map level, and a VQ table 121 is provided for each map map level. For example, if the map level is 8 levels from level 0 to level 7, 8 types of VQ table 121 are provided. Here, level 0 is assumed to have the lowest resolution in the order of levels 1, 2,.
- FIG. 2 is a diagram illustrating the VQ table 121 at the map map level 0.
- the three-dimensional coordinate values (xl, yl, zl) to (x256, y256, z256) of the reference normal vector are associated.
- the VQ table 121 corresponding to the three-dimensional coordinate value of the reference normal vector is set for each index of the reference vector.
- the reference normal vector depends on the map map level. The coordinate values of are different.
- the number of reference normal vectors may be changed according to the map map level. For example, the mapmap level 0 VQ table 121 has 256 reference normal vectors, but the mapmap level 1 VQ table 121 has 128, the mapmap level 2 VQ table 121 has 64, etc. As the resolution decreases, the number of reference normal vectors may be reduced to reduce accuracy. For example, you can choose a low resolution level VQ table 121 and use fewer reference normal vectors for distant objects or low-profile objects that can reduce image quality. In order to reduce the processing cost at the expense of image quality, select a VQ table 121 with a high V and resolution level for nearby objects and high-profile objects, and use more reference normal vectors. Thus, the image quality can be enhanced by a fine concavo-convex expression.
- the normal vector replacement unit 110 selects a map map level corresponding to the LOD value of the polygon, refers to the VQ table 121 of the map map level, and generates a pseudo method generated on the polygon surface.
- the line vector is converted to the reference normal vector closest to the pseudo-normal vector.
- the quantization vector storage unit 120 stores a color look-up table (hereinafter referred to as CLUT) 122 in which the luminance value is stored in association with the index of the reference normal vector in the VQ table 121. . If the normal direction of the surface of the object is the reference normal vector in the VQ table 121, the luminance value of the surface can be calculated by performing shading processing assuming the type and position of the light source. it can.
- the CLUT 122 is a table in which the brightness value thus calculated is associated with the index of the reference normal vector. In response to the VQ table 121 being provided for each map level, the CL UT 122 is also provided for each map level.
- FIG. 3 is a diagram for explaining the CLUT 122 at the map map level 0.
- Luminance values ⁇ 1 to ⁇ 256 are stored in correspondence with indexes 1 to 256 of the reference normal vector.
- luminance calculation is performed for each reference normal vector, and the obtained luminance value is the reference normal vector. It is stored in association with the index.
- This CLUT 122 is referred to in order to obtain the luminance value corresponding to the index force of the normal map vector of the map map level 0.
- the brightness value to be calculated is calculated and stored in association with the index.
- the luminance value acquisition unit 112 acquires a luminance value corresponding to the reference normal vector formed on the polygon surface with reference to the CLUT122 at the map level corresponding to the LOD value of the polygon.
- the luminance value acquisition unit 112 gives data related to the luminance value of the polygon surface determined by the bump mapping to the drawing processing unit 104.
- the map map level is discrete, so when the map map level changes on the object surface, the resolution of the mapped texture changes abruptly, so the image quality is improved. May deteriorate. Also, if the object with the texture pasted moves in the depth direction, the map map level changes according to the depth, and the resolution of the pasted texture changes suddenly, causing flickering on the surface of the object, making it difficult to see Sometimes.
- the texture mapping by the map map uses trilinear filtering that performs not only linear interpolation of pixel values in the vertical and horizontal directions of the texture but also linear interpolation between the hierarchical levels of the map map resolution.
- the map map processing by trilinear filtering is applied to the quantized bump mapping.
- conventional bump mapping normal vectors are directly manipulated, and in order to interpolate between map map levels, normal vectors must be directly processed, and the processing is complicated. It was difficult.
- the quantized bump mapping is a technique that uses CLUT122 that associates the brightness value with the quantized reference normal vector, so the structure is exactly the same as normal texture mapping.
- the related technology of the texture map such as the map can be used as it is.
- the operation of the bump mapping processing unit 106 in the case of performing the map mapping process by trilinear filtering will be described.
- the bump mapping processing unit 106 refers to the LOD value of the polygon, selects two mapmap levels corresponding to the LOD value, and performs trilinear interpolation using the textures of the two mapmap levels. Do. [0046] For example, when the LOD value takes a value from 0 to 63, the 64 levels of LOD correspond to the 8 levels of map map level 0 to 7. Multiples of 8: LOD values 0, 8, 16, ... ⁇ 56, corresponding to mapmap levels 0, 1, 2, ..., 7, respectively, LOD values that are not multiples of 8 are It will be halfway between two adjacent mapmap levels. So, given a certain LOD value, we select two adjacent mapmap levels where that LOD value belongs to the middle.
- the normal vector mapping unit 108 selects two adjacent map map level textures 118 according to the polygon LOD values, maps each texture 118 to the polygon surface, and sets two maps on the polygon surface. Generate a pseudo-normal vector at the map level.
- the normal vector replacement unit 110 uses each of the two adjacent mapmap level VQ tables 121 corresponding to the polygon LOD values to generate each mapmap level pseudo normal vector generated on the polygon surface. Replace with reference normal vector. This creates two adjacent mapmap level normal vectors on the polygon surface.
- the luminance value acquisition unit 112 uses each of the two adjacent mapmap level CLUTs 122 corresponding to the polygon LOD value as an index of the reference normal vector of each mapmap level formed on the polygon surface. Get the corresponding brightness value. As a result, the brightness value of the pixel to which the bump is mapped is obtained at the two map map levels.
- the luminance value acquisition unit 112 further obtains a final luminance value corresponding to the LOD value of the polygon by linearly interpolating the luminance values of the two mapmap levels between the mapmap levels. For example, if the LOD value is 3, it corresponds to the LOD value 0 force map map level 0 and the LOD value 8 force S map map level 1; The luminance value for LOD value 3 is obtained by dividing the luminance value obtained in step 3 by a ratio of 3: 5.
- FIG. 4 is a flowchart for explaining a drawing processing procedure by bump mapping by the drawing processing apparatus 100 having the above configuration. In the description of the flowchart, refer to FIGS. 5 and 6 as appropriate.
- the bump mapping processing unit 106 acquires a display list having polygon definition information power from the geometry processing unit 102 (S 10).
- the bump mapping processing unit 106 performs bump mapping processing S14 to S22. If there are multiple polygons that are subject to bump mapping, bump mapping is performed for all of those polygons. If there is no polygon for bump mapping! /, (N in S12), the bump mapping process is not performed and only the normal drawing process S24 is performed.
- Whether to perform bump mapping on a polygon may be determined based on the LOD value of the polygon. For example, if the LOD value is relatively small, that is, if it is necessary to draw with a high level of detail, bump mapping is performed. If the LOD value is relatively large, that is, the level of detail may be reduced. In this case, bump mapping may be omitted.
- the bump mapping processing unit 106 selects a map map level that matches the polygon LOD value (S14). When interpolating between mapmap levels, two adjacent mapmap levels with intermediate LOD values are selected. If no interpolation is performed between mapmap levels, the one mapmap level closest to the LOD value is selected.
- the normal vector mapping unit 108 reads the corresponding map map level texture 118 from the normal map storage unit 116, and maps the normal vector stored in the texture 118 onto the polygon surface by the texture mapping method ( S 16).
- FIG. 5 (a) is a diagram for explaining a polygonal surface on which normal vectors are mapped in units of pixels.
- the polygonal surface is a quadrilateral with 6 pixels in length and width, totaling 36 pixels.
- Each pixel is mapped with the normal vector stored in texture 118,
- the pseudo normal vector N of each pixel is determined.
- the figure shows the pseudo-normal vector N of each pixel on the polygon surface.
- a specific method for calculating the pseudo-normal vector N ′ is shown below.
- B and B are partial differentials of the bump map value B in the u and v directions.
- the normal vector replacement unit 110 quantizes the pseudo normal vector N ′ generated on the polygon surface into a reference normal vector with reference to the corresponding map map level VQ table 121.
- the index of the reference normal vector is assigned to each pixel (S18).
- the normal vector replacement unit 110 performs quantization by replacing the pseudo-normal vector N with the nearest reference normal vector N * in the VQ table 121.
- the nearest reference normal vector N * is
- FIG. 5 (b) is a diagram illustrating a polygon surface in which the index of the reference normal vector N * is mapped to each pixel. Each pixel on the polygon plane is assigned the index normal vector N *. Coordinate value of reference normal vector N * is VQ table 12
- the luminance value acquisition unit 112 refers to the CLUT 122 of the corresponding map map level, and determines the luminance value a corresponding to the index of the reference normal vector N * formed on the polygon surface. And the brightness value ⁇ is assigned to each pixel (S20).
- FIG. 5 (c) is a diagram for explaining a polygon in which luminance values (X are mapped to each pixel).
- Each pixel is assigned a brightness value ⁇ corresponding to the index of the reference normal vector N *
- the luminance value acquisition unit 112 further interpolates luminance values between the map map levels as necessary (S22). If two mapmap levels are selected, in steps S16-S20, for each of the two mapmap levels, pseudo-normal vectors are generated, converted to reference normal vectors, and reference normal vector indices. The luminance value corresponding to is acquired. The luminance value acquisition unit 112 calculates a final luminance value by linearly interpolating the luminance values acquired at the two map map levels with an internal ratio regarding the LOD value.
- FIGS. 6A to 6C are diagrams for explaining bump mapping by the map map process.
- Figure 6 (a) shows the bump mapping using the map map level 0 texture.
- a pseudo-normal vector N of 6 pixels in length and width is generated.
- the pseudo-normal vector N of each pixel is quantized to the reference normal vector N * using the map map level 0 VQ table 121.
- Sarako the reference normal vector N * for each pixel
- a luminance value map 132a is generated in which the luminance value is converted into a luminance value using the CLUT 122a of the level 0 and the luminance value is assigned to each pixel.
- Figure 6 (b) shows bump mapping using a mipmap level 1 texture.
- a pseudo-normal vector N of 4 pixels in length and width is generated.
- the pseudo-normal vector N of each pixel is quantized to the reference normal vector N * using the map map level 1 VQ table 121.
- the reference normal vector N * for each pixel is the mipmap level q q
- the luminance value map 132b in which the luminance value is assigned to each pixel is generated by using the CLUT 122b in the first column.
- Figure 6 (c) shows bump mapping using a mipmap level 2 texture.
- a pseudo-normal vector N of 2 pixels in length and width is generated. Pseudo method for each pixel
- the line vector N is quantized to the reference normal vector N * using the map map level 2 VQ table 121.
- the reference normal vector N * for each pixel is the mipmap level qq
- the luminance value map 132c is generated in which the luminance value is converted to the luminance value by using the CLUT 122c of the image 2 and the luminance value is assigned to each pixel.
- the brightness value acquisition unit 112 has the brightness value map 132a of the map level 0 and the brightness of the map level 1
- the value of the polygon surface is obtained by performing linear interpolation between the value maps 132b with an internal ratio regarding the LOD value and generating an intermediate luminance value map.
- the VQ table 121 used for the quantization of the pseudo-normal vector N ′ is different, and even if the pseudo-normal vector N is the same, the quantized reference normal vector N * The value of is different. Therefore, the luminance value varies slightly depending on the map map level. If the luminance value is interpolated between the map map levels, the quantization error due to the quantization of the pseudo-normal vector N ′ can be reduced.
- different combinations of reference normal vectors were used, which is equivalent to increasing the number of reference normal vectors and increasing the quantization granularity. Because.
- the drawing processing unit 104 When the bump mapping process is completed for the polygons to be bump-mapped, the drawing processing unit 104 writes the polygon drawing data to the frame buffer 126 based on the display list (S24). At this time, in the polygon whose brightness value is mapped by bump mapping, the texture of the polygon reflects the brightness value, and a shade corresponding to the brightness value is added, and the unevenness is simulated. Is done. If the texture is not mapped onto the polygon surface, the rendering processing unit 104 may be configured to render the luminance value obtained from the bump mapping processing unit 106 directly as an RGB value in the frame buffer 126.
- bump mapping is performed by mapping a normal vector for each pixel, so that the polygon image has fine irregularities. . Also, by using quantized bump mapping, it is only necessary to derive the luminance value for the reference normal vector, which is smaller than the number of mapped normal vectors. The calculation cost of the shading process can be greatly reduced, and the bump mapping process can be speeded up. Also, by using a CLUT that can refer to the corresponding luminance value using the index of the reference normal vector as a key, the memory capacity required for bump mapping can be reduced.
- a normal map for each map map level is prepared in advance, and a normal map at the map map level corresponding to the LOD value of the polygon surface is selected.
- bump mapping an image by bump mapping can be generated with a resolution corresponding to the LOD value.
- map map processing by trilinear filtering since the map map processing by trilinear filtering is used, quantization noise due to switching of map map levels can be suppressed.
- pseudo-normal vectors are quantized using different combinations of reference normal vectors at different map map levels, the vector is obtained by interpolating the texture between the map map levels. Image quality degradation due to quantization error associated with quantization can be suppressed.
- Quantization bump mapping reduces the amount of computation and speeds up processing, and at the same time, it can absorb quantization errors by interpolation between map map levels to improve image quality.
- the load of the bump mapping process depends on the number of reference normal vectors. Therefore, processing can be performed at high speed while maintaining the fineness of the image. As a result, even if the object moves or the light source position changes, the bump mapping process can be performed in real time.
- quantization bump mapping using CLUT applies quantization map mapping by trilinear filtering, which has good consistency with the mapping map, to quantization quantization due to vector quantization. This can reduce the effects of and improve the image quality of bump matbing.
- the present invention has been described based on the embodiments. It is to be understood by those skilled in the art that the embodiments are illustrative, and that various modifications can be made to combinations of the respective constituent elements and processing processes, and that such modifications are also within the scope of the present invention. It is understood.
- the bump mapping processing may be performed on the object surface in units larger than the force of performing bump mapping in units of polygon surfaces, for example, in units of objects.
- a combination of reference normal vectors indicating the normal direction of the divided surface when the sphere is divided into 256 parts is prepared, and the luminance value is set for the combination of the reference normal vectors.
- the force reference normal vector calculated by force calculation and stored in CLUT may be generated dynamically during bump mapping. Each time the bump map is mapped to the polygon surface and the pseudo normal vector is obtained, the pseudo normal vector is quantized to obtain the reference normal vector, the luminance is calculated for the reference normal vector, and the CLUT is calculated. It may be stored. Power required for quantization and luminance calculation for each polygon. Processing optimized for each polygon is possible, improving image quality.
- the luminance value is acquired using the CLUT after calculating the luminance in advance, assuming that there is no change in the type and position of the light source. If there is a defect, the brightness calculation may be performed again and the CLUT updated.
- the number of reference normal vectors can be designed at the time of object modeling, depending on the accuracy required for quantization bump mapping and the requirements for the final image quality. In general, the number of reference normal vectors is determined by the trade-off between computational complexity and image quality. Also, if the image quality needs change according to the situation, the number of reference normal vectors may be changed dynamically. The number of reference normal vectors may be changed according to the LOD value. For example, the accuracy of bump mapping can be adjusted by increasing the number of reference normal vectors as the polygon rendering detail level increases.
- the LOD value of a polygon is obtained by interpolating the luminance value obtained at a map map level of 3 or more, which is the force obtained by interpolating the luminance value between two map map levels. Find the final corresponding brightness value.
- interpolation function between the map map levels is an option, interpolation between the map map levels may be omitted as appropriate according to factors such as image quality requirements and processing performance.
- the present invention can be applied to the field of drawing processing.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
Description
Claims
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| ES05766471T ES2394046T3 (es) | 2004-11-01 | 2005-07-15 | Dispositivo de dibujo y método de dibujo |
| EP05766471A EP1816606B1 (en) | 2004-11-01 | 2005-07-15 | Drawing device and drawing method |
| US11/328,431 US7692662B2 (en) | 2004-11-01 | 2006-01-09 | Graphic processing apparatus and method |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004318362A JP4170283B2 (ja) | 2004-11-01 | 2004-11-01 | 描画処理装置および描画処理方法 |
| JP2004-318362 | 2004-11-01 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US11/328,431 Continuation US7692662B2 (en) | 2004-11-01 | 2006-01-09 | Graphic processing apparatus and method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2006048961A1 true WO2006048961A1 (ja) | 2006-05-11 |
Family
ID=36318978
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2005/013181 Ceased WO2006048961A1 (ja) | 2004-11-01 | 2005-07-15 | 描画処理装置および描画処理方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US7692662B2 (ja) |
| EP (1) | EP1816606B1 (ja) |
| JP (1) | JP4170283B2 (ja) |
| ES (1) | ES2394046T3 (ja) |
| WO (1) | WO2006048961A1 (ja) |
Families Citing this family (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100229795B1 (ko) * | 1996-08-30 | 1999-11-15 | 전주범 | 개선된 영상 복호화 시스템 |
| KR100229533B1 (ko) * | 1996-08-30 | 1999-11-15 | 전주범 | 개선된 영상 복호화 시스템 |
| JP4170283B2 (ja) * | 2004-11-01 | 2008-10-22 | 株式会社ソニー・コンピュータエンタテインメント | 描画処理装置および描画処理方法 |
| US8300059B2 (en) * | 2006-02-03 | 2012-10-30 | Ati Technologies Ulc | Method and apparatus for selecting a mip map level based on a min-axis value for texture mapping |
| US8314811B2 (en) * | 2006-03-28 | 2012-11-20 | Siemens Medical Solutions Usa, Inc. | MIP-map for rendering of an anisotropic dataset |
| US8164594B2 (en) * | 2006-05-23 | 2012-04-24 | Panasonic Corporation | Image processing device, image processing method, program, storage medium and integrated circuit |
| JP5147287B2 (ja) * | 2006-05-23 | 2013-02-20 | パナソニック株式会社 | 画像処理装置、画像処理方法、プログラム、記録媒体および集積回路 |
| US8009903B2 (en) * | 2006-06-29 | 2011-08-30 | Panasonic Corporation | Image processor, image processing method, storage medium, and integrated circuit that can adjust a degree of depth feeling of a displayed high-quality image |
| JP4079378B2 (ja) * | 2006-09-21 | 2008-04-23 | 株式会社コナミデジタルエンタテインメント | 画像処理装置、画像処理装置の制御方法及びプログラム |
| JP4031509B1 (ja) | 2006-09-21 | 2008-01-09 | 株式会社コナミデジタルエンタテインメント | 画像処理装置、画像処理装置の制御方法及びプログラム |
| US7948500B2 (en) * | 2007-06-07 | 2011-05-24 | Nvidia Corporation | Extrapolation of nonresident mipmap data using resident mipmap data |
| US7944453B1 (en) | 2007-06-07 | 2011-05-17 | Nvidia Corporation | Extrapolation texture filtering for nonresident mipmaps |
| US8947448B2 (en) | 2009-12-24 | 2015-02-03 | Sony Corporation | Image processing device, image data generation device, image processing method, image data generation method, and data structure of image file |
| JP5395273B2 (ja) * | 2010-09-08 | 2014-01-22 | パナソニック株式会社 | 立体画像処理装置、立体撮像装置、立体撮像方法およびプログラム |
| JP6049327B2 (ja) * | 2011-08-11 | 2016-12-21 | キヤノン株式会社 | 画像処理装置およびその制御方法 |
| US9483868B1 (en) * | 2014-06-30 | 2016-11-01 | Kabam, Inc. | Three-dimensional visual representations for mobile devices |
| US10922878B2 (en) * | 2017-10-04 | 2021-02-16 | Google Llc | Lighting for inserted content |
| CN108062758B (zh) * | 2018-02-27 | 2019-06-28 | 山东师范大学 | 一种基于图像分割算法的人群生成仿真方法及系统 |
| US11120605B2 (en) | 2020-01-09 | 2021-09-14 | Samsung Electronics Co., Ltd. | Approximate trilinear filtering |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001266174A (ja) * | 2000-02-28 | 2001-09-28 | Mitsubishi Electric Research Laboratories Inc | グラフィックオブジェクトを表現する方法 |
| JP2002203255A (ja) | 2000-10-24 | 2002-07-19 | Sony Computer Entertainment Inc | 画像処理方法、画像処理装置、コンピュータプログラム、半導体デバイス |
| JP2004252603A (ja) * | 2003-02-18 | 2004-09-09 | Canon Inc | 三次元データ処理方法 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5880736A (en) * | 1997-02-28 | 1999-03-09 | Silicon Graphics, Inc. | Method system and computer program product for shading |
| US6525740B1 (en) * | 1999-03-18 | 2003-02-25 | Evans & Sutherland Computer Corporation | System and method for antialiasing bump texture and bump mapping |
| JP4170283B2 (ja) * | 2004-11-01 | 2008-10-22 | 株式会社ソニー・コンピュータエンタテインメント | 描画処理装置および描画処理方法 |
-
2004
- 2004-11-01 JP JP2004318362A patent/JP4170283B2/ja not_active Expired - Fee Related
-
2005
- 2005-07-15 ES ES05766471T patent/ES2394046T3/es not_active Expired - Lifetime
- 2005-07-15 WO PCT/JP2005/013181 patent/WO2006048961A1/ja not_active Ceased
- 2005-07-15 EP EP05766471A patent/EP1816606B1/en not_active Expired - Lifetime
-
2006
- 2006-01-09 US US11/328,431 patent/US7692662B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001266174A (ja) * | 2000-02-28 | 2001-09-28 | Mitsubishi Electric Research Laboratories Inc | グラフィックオブジェクトを表現する方法 |
| JP2002203255A (ja) | 2000-10-24 | 2002-07-19 | Sony Computer Entertainment Inc | 画像処理方法、画像処理装置、コンピュータプログラム、半導体デバイス |
| EP1331606A1 (en) | 2000-10-24 | 2003-07-30 | Sony Computer Entertainment Inc. | Image processing method for realizing quick bump mapping, image processing device, computer program, and semiconductor device |
| JP2004252603A (ja) * | 2003-02-18 | 2004-09-09 | Canon Inc | 三次元データ処理方法 |
Non-Patent Citations (2)
| Title |
|---|
| KILGARD M. J.: "A practical and robust Bump-mapping Technique for today's GPUs", GAME DEVELOPERS CONFER-ENCE 2000, 5 July 2000 (2000-07-05), pages 1 - 39 |
| See also references of EP1816606A4 * |
Also Published As
| Publication number | Publication date |
|---|---|
| EP1816606B1 (en) | 2012-08-22 |
| EP1816606A4 (en) | 2009-11-18 |
| US20060170681A1 (en) | 2006-08-03 |
| JP4170283B2 (ja) | 2008-10-22 |
| JP2006127412A (ja) | 2006-05-18 |
| ES2394046T3 (es) | 2013-01-16 |
| EP1816606A1 (en) | 2007-08-08 |
| US7692662B2 (en) | 2010-04-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4170283B2 (ja) | 描画処理装置および描画処理方法 | |
| JP3478568B2 (ja) | 画像データ処理方法及び装置 | |
| JP4522996B2 (ja) | テクスチャマッピングにおける適応リサンプリングのためのシステム | |
| US11244494B1 (en) | Multi-channel ray casting with distortion meshes to address chromatic aberration | |
| KR102503210B1 (ko) | 텍스처 필터링하는 방법 및 이를 위한 장치 | |
| WO2000002165A1 (fr) | Procede permettant de produire des donnees de polygone et afficheur d'images utilisant lesdites donnees | |
| WO2008013605A1 (en) | Real-time gpu rendering of piecewise algebraic surfaces | |
| US8319789B2 (en) | Image generation device and image generation method | |
| EP1792281A1 (en) | Method and system for anti-aliasing by pixel sampling | |
| US20050243101A1 (en) | Image generation apparatus and image generation method | |
| US8072464B2 (en) | 3-dimensional graphics processing method, medium and apparatus performing perspective correction | |
| US9111328B2 (en) | Texture compression and decompression | |
| US7907147B2 (en) | Texture filtering apparatus, texture mapping apparatus, and method and program therefor | |
| KR102853920B1 (ko) | 텍스쳐 처리 방법 및 장치 | |
| JP2006244426A (ja) | テクスチャ処理装置、描画処理装置、およびテクスチャ処理方法 | |
| US7405735B2 (en) | Texture unit, image rendering apparatus and texel transfer method for transferring texels in a batch | |
| JP4265791B2 (ja) | 法線マップデータ生成方法、描画処理方法および描画処理装置 | |
| EP1058912B1 (en) | Subsampled texture edge antialiasing | |
| US8212835B1 (en) | Systems and methods for smooth transitions to bi-cubic magnification | |
| CN113409436A (zh) | 一种菱形像素排列的体绘制方法 | |
| US12499622B2 (en) | Late stage reprojection using tessellated mesh | |
| JP3648404B2 (ja) | 画像生成装置及び記録媒体 | |
| EP1926052B1 (en) | Method, medium, and system rendering 3 dimensional graphics data considering fog effect | |
| JPH06203176A (ja) | 画像データ処理方法及び装置 | |
| KR100927131B1 (ko) | 안티 알리어싱 방법 및 장치 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WWE | Wipo information: entry into national phase |
Ref document number: 11328431 Country of ref document: US |
|
| AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
| WWP | Wipo information: published in national office |
Ref document number: 11328431 Country of ref document: US |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2005766471 Country of ref document: EP |
|
| WWP | Wipo information: published in national office |
Ref document number: 2005766471 Country of ref document: EP |