WO2005101320A1 - 画像生成装置および画像生成方法 - Google Patents

画像生成装置および画像生成方法 Download PDF

Info

Publication number
WO2005101320A1
WO2005101320A1 PCT/JP2005/007137 JP2005007137W WO2005101320A1 WO 2005101320 A1 WO2005101320 A1 WO 2005101320A1 JP 2005007137 W JP2005007137 W JP 2005007137W WO 2005101320 A1 WO2005101320 A1 WO 2005101320A1
Authority
WO
WIPO (PCT)
Prior art keywords
lookup table
look
texture
individual
color
Prior art date
Application number
PCT/JP2005/007137
Other languages
English (en)
French (fr)
Inventor
Takahiro Koguchi
Norio Takama
Original Assignee
Sony Computer Entertainment Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Computer Entertainment Inc. filed Critical Sony Computer Entertainment Inc.
Priority to US11/547,449 priority Critical patent/US8319789B2/en
Publication of WO2005101320A1 publication Critical patent/WO2005101320A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping

Definitions

  • the present invention relates to an image generating apparatus and an image generating method for generating image data.
  • Three-dimensional computer graphics generally use a polygon model that represents an object in a three-dimensional space by a large number of polygons.
  • shading is performed to shade the surface of the polygon in consideration of the light source, the viewpoint position, the reflectance of the object surface, and the like.
  • texture mapping is performed to paste the texture image on the surface of the polygon model in order to generate a highly realistic image.
  • each texel has an index of the color value which is lower than that of the color value, and at the time of texture mapping, the color reference table is referenced to obtain an actual color value. It is powerful that the index color method to convert is taken. This is a method called a color palette, and a color swatch in which color values are defined in advance is prepared as a color lookup table or color palette, and each texel is index information that refers to the color lookup table. Store the injury. For example, if the color sample used is 256 colors, storing only 8-bit indices in each texture of the texture image If the color swatch contains 16 colors, store only 4-bit indices. Because of this, the amount of data in texture images can be reduced significantly.
  • the size of the color lookup table is as small as possible. S Memory efficiency is good, but in order to maintain high drawing quality, A certain number of colors is required as a color sample. On the other hand, the number of colors may be small in an area where it is not necessary to draw in much detail. Generally, one large color look-up table is prepared according to the number of colors. Indexing of color values is performed using the same palette even in areas that do not need to be drawn finely, and memory usage efficiency is not good.
  • the present invention has been made in view of these problems, and it is an object of the present invention to provide an image generation device and an image generation method capable of efficiently performing drawing processing in terms of storage capacity and calculation amount. is there.
  • an image generating apparatus divides a single storage area into a plurality of blocks, and assigns an integrated lookup table in which an individual lookup table is allocated to each block.
  • the individual lookup tables in the integrated lookup table are selectively referred to, and the reference information necessary for the image generation processing operation is displayed. Including the reference part to acquire.
  • the “reference information” is, for example, color information, function values, etc., and is various information to be referred to in the image generation processing operation.
  • color information is a concept that includes, in addition to RGB values, ex values indicating transmissivity.
  • Another aspect of the present invention is also an image generation device.
  • This device divides a single storage area into a plurality of blocks, an integrated lookup table in which each block is assigned an individual lookup table storing different combinations of reference information on textures, and an integrated lookup table in the integrated lookup table. It includes a reference unit which selectively refers to any of a plurality of individual look-up tables and acquires reference information, and an operation unit which performs operation processing of texture data using the reference information.
  • Each of the plurality of individual look-up tables stores different combinations of reference information related to the texture according to the level of drawing detail, and the reference unit indicates the level of drawing detail of the drawing target area to which the texture data is mapped.
  • the individual lookup table corresponding to the designated drawing detail may be selectively referred to.
  • the “drawing target area” is, for example, a drawing area whose size is not specified, such as a partial area of an object to be drawn, the surface of each polygon in a polygon model, and a pixel area of a predetermined size.
  • the “drawing level of detail” is the level of detail required when drawing an area to be drawn.
  • Yet another aspect of the present invention is an image generation method.
  • a single storage area is divided into a plurality of blocks, and in the integrated lookup table in which an individual lookup table is assigned to each block, offsets of reference addresses in the integrated lookup table are offset from each other. Switch to reference and acquire reference information necessary for image generation.
  • Yet another aspect of the present invention is also an image generation method.
  • a single storage area is divided into a plurality of blocks, and setting information regarding block allocation of the integrated look-up table in which an individual look-up table is allocated to each block is set in the register and set in the register.
  • the allocation position of a specific individual lookup table is determined, the step of switching the individual lookup table to be referred to, and the image generation with reference to the specific individual lookup table And obtaining the necessary reference information.
  • high-quality drawing data can be generated at high speed.
  • FIG. 1 is a block diagram of an image generation apparatus according to an embodiment.
  • FIG. 2 It is a block diagram of the drawing block of FIG.
  • FIG. 3 is a diagram for explaining the detailed configuration of a drawing operation unit of FIG. 2;
  • FIG. 4 It is a block diagram of the texture unit of FIG.
  • FIG. 5 is a diagram for explaining the configuration of the integrated lookup table of FIG. 4;
  • FIG. 6 is a diagram for explaining texels mapped to pixels.
  • FIG. 7 is a diagram for explaining an integrated lookup table storing color lookup tables by LOD.
  • FIG. 8 is a diagram for explaining a color lookup table according to LOD.
  • FIG. 9 The procedure of the texture mapping process by the texture unit according to the embodiment It is a flowchart to explain.
  • FIG. 10 is a diagram for explaining the configuration of a three-dimensional layer texture.
  • FIG. 11 is a diagram for explaining an integrated lookup table storing a color lookup table for each layer of the three-dimensional layer texture.
  • FIG. 12 A diagram for explaining the configuration of a bet map texture.
  • FIG. 13 is a diagram for explaining an integrated look-up table storing color look-up tables according to resolution levels of bet map textures.
  • sequencer cluster 36 memory access units, 40 memories, 50 texture views, 52 configuration registers, 58 operation units, 60 storage units, 62 texture data, 64 integrated lookup tables, 65 individual lookup tables, 6 8 LOD calculation unit, 70 lookup table reference unit, 100 drawing blocks, 110 control blocks, 120 input / output blocks, 130 storage devices, 140 display devices, 150 buses, 200 image generation devices.
  • FIG. 1 is a block diagram of an image generation apparatus 200 according to the first embodiment.
  • the image generation apparatus 200 is configured by connecting a drawing block 100, a control block 110, and an input / output block 120 via a bus 150.
  • a storage unit 130 and a display unit 140 are connected to the input / output block 120.
  • the input / output block 120 may be configured to communicate with another device via a network to externally acquire data necessary for drawing.
  • the control block 110 is a block that controls the entire image generating apparatus 200, and synchronization of data transfer between the inside of the image generating apparatus 200 and an external peripheral device such as the storage device 130 and the display device 140. Management, processing of interrupt from each unit in the image generation device 200, management of timer, etc.
  • the input / output block 120 reads the three-dimensional model information and various parameters stored in the storage device 130 and provides the same to the drawing block 100.
  • Input / output block 120 is a network
  • the external device power may also be received via the data necessary for drawing and provided to the drawing block 100.
  • the input / output block 120 displays the drawing data output from the drawing block 100 on the display device 140.
  • the drawing block 100 generates drawing data based on the three-dimensional model information given from the input / output block 120, and performs rendering processing to write in the frame buffer.
  • FIG. 2 is a block diagram of the drawing block 100.
  • the rasterizer 10 also receives vertex data of drawing primitives as well as 120 input / output blocks.
  • the drawing primitives are generally triangles, and the rasterizer 10 performs view conversion to convert triangles in three-dimensional space into triangles on a drawing plane by projection conversion, and further, draws triangles on a drawing plane of the drawing plane. While scanning along the horizontal direction, raster processing is performed to convert pixels into quantized pixels one by one.
  • the rasterizer 10 pixel-expands the drawing primitives and calculates pixel information including RGB color values, ⁇ values, and ⁇ values for each pixel.
  • the rasterizer 10 generates a pixel area of a predetermined size (hereinafter referred to as a drawing target area) along a scan line, and supplies the pixel area to the drawing operation unit 20 of the subsequent stage.
  • the drawing operation unit 20 includes a shader unit 30, a memory 40, and a texture unit 50.
  • a frame buffer and a texture buffer are provided in the memory 40.
  • the frame buffer and the texture buffer may be provided in a single memory or may be provided in physically separate memories.
  • the drawing target area supplied from the rasterizer 10 to the drawing operation unit 20 is stacked in a queue, and the shader unit 30 sequentially processes the drawing target area stacked in the queue.
  • the shader unit 30 performs shed processing based on the pixel information calculated by the rasterizer 10, and based on the texel information obtained by the texture unit 50, the pixel color after testachian mapping. And write the drawing data to the frame buffer in the memory 40.
  • the shader unit 30 further performs processing such as fugging and alpha blending on the drawing data held in the frame buffer, obtains a final drawing color, and updates the drawing data in the frame buffer.
  • the drawing data stored in the frame buffer is read by the input / output block 120 and output to the display device 140.
  • Texture unit 50 receives input of parameters specifying texture data from sheader unit 30, calculates the address of texture data, and requests necessary texture data from the texture buffer in memory 40. Do.
  • the texture unit 50 caches the texture data read out by the texture buffer force, performs filtering such as linear interpolation and trilinear interpolation, and outputs it to the shader unit 30.
  • FIG. 3 is a diagram for explaining the detailed configuration of the drawing operation unit 20.
  • a shader unit 30 in the rendering operation unit 20 has a plurality of shader clusters 32 operating asynchronously, and executes rendering processing of pixels in parallel by processing pixel data which each is in charge of.
  • the distribution unit 12 determines a shader cluster 32 in charge of processing a drawing target area stacked in a queue, generates various parameters, and gives the drawing target area and parameters to the shader cluster 32.
  • One texture unit 50 is provided in the drawing operation unit 20, and each shader cluster 32 inputs into the texture unit 50 a texture load instruction including texture parameters for specifying texture data, Receives the output of texture data after texture mapping processing from texture unit 50.
  • the shader cluster 32 performs shading such as flat shading and gouraud shading, determines the color value of each drawing pixel, and writes it to a frame buffer in the memory 40. Furthermore, the shader cluster 32 blends the color values of the texels mapped to the pixels with the color values of the pixels from which the frame buffer power is read out, based on the testia data output from the texture unit 50. The shader cluster 32 writes the final drawing pixel data to the frame buffer when the pixel color, texel color, alpha value and fog value of the pixel are determined.
  • the memory access unit 34 controls reading and writing of pixel data from / to the frame buffer by the shader cluster 32.
  • the texture unit 50 Since the texture unit 50 performs texture address calculation, memory access, and filtering when it receives a texture load instruction from the shader cluster 32, an output is obtained compared to the operation in the shader cluster 32. It takes time to be Therefore, after executing the texture load instruction, the shader cluster 32 is drawing target area during processing. Perform processing of the drawing target area other than the area to increase the execution efficiency.
  • FIG. 4 is a block diagram of the texture unit 50.
  • the texture unit 50 converts the texture coordinate values into texel coordinate values to calculate the address in the texture buffer, reads the texel information based on the calculated address, and bilinears the color information of the texel mapped to the pixel. Obtained by filtering processing such as a filter.
  • filtering processing such as a filter. The configuration of the texture unit 50 will be described below.
  • the arithmetic unit 58 receives inputs such as a texture load instruction and a parameter acquisition instruction from a plurality of shader clusters 32, sequentially processes the instructions, and passes the processing result to the shader cluster 32.
  • the texture load instruction includes texture parameters that specify texture data.
  • Texture parameters include texture coordinate values, texel coordinate values, LOD (level of detail) values, and the like.
  • This LOD value is calculated by the shader cluster 32, and in order to distinguish it from the LOD value calculated in the texture unit 50 described later, the LOD value provided by the shader cluster 32 is called an external input LOD value, The LOD values calculated in the latter texture unit 50 are called internally generated LOD values.
  • the external input LOD value may or may not be given as a texture parameter. Also, the external input LOD value may be given in units of drawing objects or in units of pixels. When the externally input LOD value is given, the externally input LOD value is used prior to the internally generated L OD value.
  • the internally generated LOD value is a value determined by the inclination of the polygon surface to which the texture is mapped as described later, and is a value corresponding to the depth of the texel. In general, the power of drawing the texture at a lower level of detail the farther it is, the more distant objects may be drawn at a higher level of detail. In such cases, an externally input LOD value can be given to override the internally generated LOD value. In the following, internally generated LOD values are simply referred to as LOD values, unless confusion arises.
  • the configuration register group 52 is a group of configuration registers for holding various setting information that defines the operation of the texture unit 50 as configuration information. Configuration register group 52 holds the set values, so if you want to continue using the same mode or condition with the previous settings, you need to set them again. There is no.
  • the configuration register group 52 includes a register for holding an operation mode and a parameter for using a texture, a flag for using the integrated lookup table 64 described later, and a reference of the integrated lookup table 64. There is a register that holds the address, the assignment format of the individual color lookup table in the table, and information on the assignment position.
  • the arithmetic unit 58 performs filtering processing such as bi-linear interpolation on the texture data based on the setting information stored in the configuration register group 52.
  • the storage unit 60 stores the texture data 62 and the integrated lookup table 64.
  • the storage unit 60 is used as a buffer for holding the texture data 62 read from the memory 40 and the integrated lookup table 64.
  • the storage unit 60 supplies the texture data 62 to the operation unit 58 in response to a request from the operation unit 58.
  • the operation unit 58 directly generates texture data from the texture buffer in the memory 40. 62 may be read.
  • the integrated lookup table 64 is used as a color lookup table (CLUT) that indexes and stores texel color information, and a general look that indexes and stores other information as needed. It is also used as an up-table (LUT).
  • CLUT color lookup table
  • LUT up-table
  • the color lookup table is referenced by the lookup table lookup unit 70. Also, in the case of a general look-up table, the shader cluster 32 can directly refer to the look-up table.
  • Texture data has, as texel values, indices for color values that do not directly have color values of each texel. This enables efficient compression of texture data.
  • the color value information corresponding to the index value is stored and provided as reference information in the integrated lookup table 64.
  • the integrated lookup table 64 stores a plurality of color lookup tables in which entries describing color information are arranged in order of index numbers.
  • Arithmetic unit 58 supplies a texel index value as an input to lookup table reference unit 70 in order to convert the texel color given in the index format into an actual color value.
  • Look-up table reference unit 70 refers to integrated look-up table 64 The color information corresponding to the index value of texels is acquired and output to the arithmetic unit 58.
  • FIG. 5 is a diagram for explaining the configuration of the integrated lookup table 64.
  • the integrated lookup table 64 has a configuration in which a single storage area is divided into a plurality of blocks and individual lookup tables 65a to 65c (hereinafter collectively referred to as individual lookup tables 65) are stored for each block. .
  • the look-up table reference unit 70 can specify a block number to selectively refer to any one of the plurality of individual look-up tables 65 in the integrated look-up table 64.
  • Information on the allocation position of each block in the storage area of the integrated lookup table 64 is set in a predetermined register in the configuration register group 52.
  • the allocation position is given by the offset value up to the first address of each block in the reference address force of the storage area of the integrated lookup table 64.
  • Look-up table reference unit 70 obtains information on the block allocation position set in a predetermined register of configuration register group 52, and calculates the reference address of individual look-up table 65 specified by the block number. Refer to the specified individual lookup table 65 based on the reference address.
  • the LOD calculation unit 68 obtains information on the coordinate values (u, v) of the texel and the coordinate values (X, y) of the pixel to which that texel is mapped from the operation unit 58, and changes the pixel coordinates locally Based on the local change of the texture texel coordinates for, calculate the LOD value that indicates the level of detail when drawing the texel.
  • the method of calculating the LOD value will be described.
  • FIG. 6 is a view for explaining texels mapped to pixels. It is assumed that texel coordinates (UOO, VOO) are mapped to the first pixel 210 in a pixel area of 2 pixels in height and width. Similarly, when texel coordinates (U10, V10) are mapped to the second pixel 211, texel coordinates (UOl, V01) to the third pixel 212, and texel coordinates (1111, VI 1) to the fourth pixel 213, respectively. Do.
  • the LOD calculation unit 68 obtains the variation duZdx, du / dy, dvZdx, dvZdy of the texel coordinates (u, v) with respect to the change of the pixel coordinates (x, y) by the following equations.
  • du / dx (f (UlO-UOO) + f (U11-UOl)) X O. 5
  • the absolute value of the difference between the texel coordinate values with the adjacent pixel is obtained, and in the latter case The difference is obtained.
  • the LOD calculation by the LOD calculation unit 68 includes an isotropic filter calculation and an asotropic filter calculation.
  • the isotropic filter calculation further includes a calculation mode based on Euclidean distance and a Manhattan distance. There is an original calculation mode, which can be switched by setting the configuration register group 52.
  • the LOD value is calculated by the following equation.
  • K is a noise, which is determined depending on the distance from the viewpoint to the drawing primitive to which the texture is to be attached. By this calculation, the gradient of the drawing primitive to which the texture is pasted is reflected in the LOD value.
  • the LOD value is calculated by the following equation.
  • abs () is a function that returns the absolute value of its argument.
  • the LOD value is calculated by the following equation.
  • FIG. 7 is a view for explaining an integrated lookup table 64 in which a plurality of color lookup tables classified by LOD are stored as an example of the integrated lookup table 64.
  • the storage area of the integrated lookup table 64 is divided into, for example, 17 blocks, and each block is assigned a color lookup table for each LOD.
  • L OD0 to LOD 16 indicate LOD values, and the larger the number after the LOD, the lower the level of detail.
  • the first block is assigned a LOD0 force-color look-up table 300 capable of storing 256 entries of color values, and the second to seventeenth blocks each store 16 entries of color values.
  • the color look-up tables 301 to 316 for LOD1 to LOD16 are assigned. The correspondence between each block and the LOD value is set in the configuration register group 52.
  • FIGS. 8A and 8B are diagrams for explaining color lookup tables by LOD stored in the integrated lookup table 64.
  • FIG. FIG. 8 (a) is a color lookup table 300 for LOD0, in which color values (R, G, ⁇ , ⁇ ) consisting of RGB values and ⁇ values are taken as one entry, (R, G, B, a) 256 entries from (R, G, B, a) are stored.
  • the LOD-based color look-up table is used as a color palette that stores different color values according to the level of detail.
  • the LOD-specific integrated lookup table 64 can have various other configurations. For example, configure the integrated lookup table 64 so that the larger the LOD value, that is, the lower the level of detail, the smaller the number of entries in the dynamic lookup table.
  • the LOD calculating unit 68 supplies the calculated LOD value to the lookup table reference unit 70.
  • the lookup table reference unit 70 identifies a color lookup table to be referenced in the integrated lookup table 64 based on the LOD value given from the LOD calculation unit 68. Specifically, look-up table reference unit 70 obtains the LOD value and the block number based on the setting information of configuration register group 52, and uses the offset address of the block as the reference address of integrated look-up table 64. By adding, the reference address of the block is obtained.
  • Look-up table reference unit 70 generates a color look-up table corresponding to the LOD value given from LO D calculation unit 68 based on the reference address of the corresponding block in integrated look-up table 64.
  • the index value of texel is used as the offset of the reference address to read out the color value corresponding to the index value.
  • the texel values given in the index format are converted into actual color values and given to the arithmetic unit 58.
  • FIG. 9 is a flowchart illustrating the procedure of the texture mapping process by the texture unit 50.
  • setting information such as an operation mode and various parameters of the texture unit 50 is set in the configuration register group 52 (S 10).
  • the computing unit 58 also obtains texture coordinates (s, t) as texture loading command force, and calculates texel coordinates (u, V) by multiplying the texture size (S 12). Next, the calculation unit 58 calculates an address for referring to the texture data 62 in the storage unit 60 based on the texel coordinates (S14).
  • the operation unit 58 refers to the texture data 62 in the storage unit 60, and acquires the texel value at the calculated address (S16). Since the texture data 62 is given in an index color format, the texel values are index numbers.
  • the LOD calculation unit 68 calculates the LOD value of the texels by the method described above (S18).
  • Lookup table reference unit 70 selects a color lookup table for each LOD corresponding to the calculated LOD value from integrated lookup table 64, and selects a color value corresponding to the index number of texels. It is acquired from the color lookup table according to the LOD (S20). Arithmetic unit 58 operates in the operation mode based on the obtained texel color value. Filtering such as bilinear interpolation is performed according to (S22).
  • step S12 returns to step S12 and continues the process of steps S12 to S22 until the series of texture mapping processes is completed on the area to be drawn (N in S24), and the process of texture mapping on the area to be drawn ends. And (Y in S24), end.
  • the LOD value refers to a different force look-up table in the integrated look-up table 64.
  • reconfiguration of the configuration register group 52 is not necessary.
  • a plurality of color look-up tables are stored in the integrated look-up table 64, and the reference address of the integrated look-up table 64 can be changed by simply offsetting the reference address without force to change the color look-up. It is also a force that can replace the table. That is, the setting of the configuration register group 52 set in step S10 can be used as it is without changing. Therefore, it is possible to eliminate the processing overhead involved in context switching, and to perform texture mapping while appropriately switching the color lookup table according to the L OD value.
  • the color look-up table it is possible to switch the color look-up table according to the LOD value calculated based on the inclination of the polygon surface to which the texture is attached. For example, a color look-up table with a small number of colors is applied to texels far away from the viewpoint power, the degree of detail is lowered to determine the texel color, and the colors close to texels are close It is possible to maintain the drawing quality of the texture by applying a color look-up table with a large amount of detail and determining the texel color with a high degree of detail. In addition, the compression efficiency of index format texture data can be improved by using low V and low color depth for texel! /, And color lookup table.
  • the configuration register group 52 holds information on the allocation position of the individual force lookup table in the integrated lookup table 64
  • the setting information of the configuration register group 52 ie, the context
  • the LOD value of the surface to which the texture is to be applied is changed without the overhead of context switching.
  • the tessellation color palette can be switched to determine the texel color. Even if the color palette is frequently switched, the processing efficiency does not deteriorate, so the drawing quality can be improved while maintaining the processing speed.
  • the texture unit 50 uses a three-dimensional layer texture in which a plurality of two-dimensional textures having a layered structure are used as the texture data.
  • FIG. 10 is a diagram for explaining the configuration of the three-dimensional layer texture 350.
  • the three-dimensional layer texture 350 is represented by (u, V, w) coordinates, and a plurality of two-dimensional textures defined by the (u, V) coordinates overlap in the w-axis direction.
  • a plurality of two-dimensional textures 320 to 335 from layer 0 to layer 15 have a layer structure in the w-axis direction, and by specifying the layer number as the w value, any of the layers Two-dimensional textures can be selectively referenced.
  • FIG. 11 is a diagram for explaining the configuration of the integrated lookup table 64 storing the color lookup table for each layer.
  • This integrated look-up table 64 corresponds to each layer of the three-dimensional layer texture 350 shown in FIG. 10, and a forcer look-up table 340 for layer 0 storing 256 entries and a layer 1 storing 16 entries each.
  • a forcer look-up table 340 for layer 0 storing 256 entries and a layer 1 storing 16 entries each.
  • the texture unit 50 can perform the bet mapping using as a texture data, a bet map texture including a plurality of two-dimensional textures of different resolutions.
  • FIG. 12 is a view for explaining the configuration of the bet map texture 380.
  • Mitsupmap Texture 380 is a prefiltered, reduced texture with multiple reductions for each reduction level.
  • the resolution is in the order of the level 0 texture 360, the level 1 texture 361, the level 2 texture 362, and the level 3 texture 363.
  • the structure of the mipmap texture is shown, where is lower.
  • the level of the bet map is specified during text mapping, and the text corresponding to the resolution of the polygon is selected and pasted on the polygon surface.
  • FIG. 13 is a view for explaining the configuration of the integrated look-up table 64 storing color look-up tables by resolution level.
  • the integrated lookup table 64 is a color lookup table 370 for level 0 storing 256 entries, and a level 1 for storing 128 entries corresponding to each resolution level of the bet map texture 380 of FIG.
  • look-up table reference unit 70 is for level 0 in integrated look-up table 64. Refer to the color lookup table 370 and convert the index format texel values into color values. Similarly, when the operation unit 58 performs texture mapping using the level 1 texture 361 of the Mitsupmap texture 380, the look-up table reference unit 70 references the color look-up table 371 for level 1, etc. Pmap texture A color lookup table matching the level of 380 is selectively referred from integrated lookup table 64 to convert index format textel values to color values.
  • each shader cluster 32 of the shader unit 30 may be included a plurality of schedulers which process pixel data in parallel by means of a synchronization operation. This configuration enables pipeline processing of pixel data in the drawing operation unit 20. It can be carried out.
  • the force look-up table described the configuration of the integrated look-up table 64 may have information other than color information. For example, you may index the information on the normal vector of the surface to which the texture is attached, and store the information on the normal vector in the index order in the lookup table. Normal vector information is used for bump mapping. Also, index values may be added to the values of representative points of nonlinear mathematical functions in the look-up table, and values of representative points may be stored in the look-up table in index order! /. In this case, the shader cluster 32 obtains coordinate values of representative points with reference to the look-up table, and interpolates between the representative points appropriately to obtain a function value.
  • the color look-up table stores color values as entries in index order.
  • the force color look-up table stores index values and force values in association with each other. May be In that case, the look-up table reference unit 70 searches the color look-up table using the index value of texel as a key, and obtains the color value corresponding to the index value.
  • color lookup tables may be organized as hash tables. In that case, the lookup table lookup unit 70 searches the color lookup table based on the hash value of the index value.
  • textures of each level may be composed of three-dimensional layer textures.
  • the integrated look-up table 64 may include a nested structure in which each color look-up table includes a plurality of color look-up tables, and each color look-up table includes a plurality of color look-up tables.
  • the look-up table reference unit 70 can selectively refer to a specific color look-up table in the integrated look-up table 64 by specifying a combination of the bet map level and the layer.
  • a force similar to that described in the pixel operation process such as texture mapping using a look-up table can also be used for geometry operation.
  • displacement mapping (Displacement The present invention may be applied to a lookup table referred to in Mapping).
  • bump maps which artificially inflate the surface of a polygon by mapping in the rendering process
  • displacement mapping allows deformation on the surface of a polygon by directly manipulating vertex data in the process of geometry calculation.
  • vertex information representing asperities is attached to the polygon model. By attaching normal data to the base polygon surface, the coordinate values of vertices change in the normal direction, and more complex shapes are generated.
  • vertex information may be stored in a lookup table for each LOD, and the lookup table may be switched according to the LOD value.
  • 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

 演算部58は、記憶部60内のテクスチャデータ62を参照してインデックスカラー形式のテクセル情報を取得する。統合ルックアップテーブル64は、描画対象領域の詳細度(LOD)別のカラールックアップテーブルが複数格納された構造をもつ。ルックアップテーブル参照部70は、LOD算出部68により求められたテクセルのLOD値にもとづいて、統合ルックアップテーブル64に格納されたLOD別のカラールックアップテーブルを選択的に参照し、テクセルのインデックス値に対応するカラー情報を取得し、演算部58に出力する。演算部58は、テクセルのカラー情報をもとにバイリニア補間などのフィルタ処理を施し、処理後のテクセル情報を出力する。

Description

明 細 書
画像生成装置および画像生成方法
技術分野
[0001] この発明は画像データを生成する画像生成装置および画像生成方法に関する。
背景技術
[0002] 3次元コンピュータグラフィックスでは、一般的に 3次元空間のオブジェクトを多数の ポリゴンにより表現するポリゴンモデルが利用される。ポリゴンモデルの描画処理にお いて、光源、視点位置、物体表面の反射率などを考慮してポリゴン表面に陰影をつ けるシェーディングが行われる。また、写実性の高い画像を生成するために、ポリゴン モデルの表面にテクスチャ画像を貼り付けるテクスチャマッピングが行われる。
[0003] テクスチャ画像のデータ量を少なくするために、各テクセルにカラー値をもたせるの ではなぐカラー値のインデックスをもたせておき、テクスチャマッピング時にカラーノレ ックアップテーブルを参照して、実際のカラー値に変換するインデックスカラー方式が とられること力 Sある。これはカラーパレットとも呼ばれる方式であり、あら力じめカラー値 を定義した色見本をカラールックアップテーブルあるいはカラーパレットとして用意し ておき、各テクセルには、カラールックアップテーブルを参照するインデックス情報だ けを格納する。たとえば、使用する色見本が 256色の場合、テクスチャ画像の各テク セルに 8ビット分のインデックスを格納するだけでよぐ色見本が 16色の場合、 4ビット 分のインデックスを格納するだけでょ 、ため、テクスチャ画像のデータ量を大幅に削 減することができる。
発明の開示
発明が解決しょうとする課題
[0004] インデックスカラー形式で与えられたテクスチャ画像を用いてテクスチャマッピング を行う場合、カラールックアップテーブルのサイズはできるだけ小さくした方力 Sメモリ効 率がよいが、高い描画品質を保っためには、色見本としてある程度の色数が必要で ある。一方、あまり詳細に描画する必要のない領域では色数は少なくてよい。一般に は、色数の多い方に合わせて 1つの大きなカラールックアップテーブルを用意し、詳 細に描画する必要のない領域でも同じパレットを利用してカラー値のインデキシング を行うことが行われており、メモリの利用効率がよくない。
[0005] 本発明はこうした課題に鑑みてなされたものであり、その目的は、記憶容量と計算 量の面で効率よく描画処理を行うことのできる画像生成装置および画像生成方法を 提供することにある。
課題を解決するための手段
[0006] 上記課題を解決するために、本発明のある態様の画像生成装置は、単一の記憶領 域を複数のブロックに分けて、各ブロックに個別ルックアップテーブルを割り当てた統 合ルックアップテーブルと、統合ルックアップテーブル内の 、ずれかのブロックの位 置を指定することにより、統合ルックアップテーブル内の個別ルックアップテーブルを 選択的に参照し、画像生成処理演算に必要な参照情報を取得する参照部とを含む 。「参照情報」は、一例としてカラー情報、関数値などであり、画像生成処理演算の際 に参照されるいろいろな情報である。ここで、「カラー情報」は、 RGB値以外に、透過 率を示す ex値なども含む広!、概念である。
[0007] 本発明の別の態様もまた、画像生成装置である。この装置は、単一の記憶領域を 複数のブロックに分けて、テクスチャに関する参照情報の異なる組み合わせを格納し た個別ルックアップテーブルを各ブロックに割り当てた統合ルックアップテーブルと、 統合ルックアップテーブル内の複数の個別ルックアップテーブルのいずれかを選択 的に参照し、参照情報を取得する参照部と、参照情報を利用して、テクスチャデータ を演算処理する演算部とを含む。
[0008] 複数の個別ルックアップテーブルは、それぞれ、描画詳細度別にテクスチャに関す る参照情報の異なる組み合わせを格納したものであり、参照部は、テクスチャデータ のマッピング先の描画対象領域の描画詳細度を指定することにより、指定された描画 詳細度に対応する個別ルックアップテーブルを選択的に参照してもよい。「描画対象 領域」とは、たとえば、描画対象のオブジェクトの部分領域、ポリゴンモデルにおける 各ポリゴンの表面、所定サイズのピクセル領域など、特に大きさを特定しない描画領 域である。「描画詳細度」とは、描画対象領域を描画する際に求められる詳細度であ る。 [0009] 本発明のさらに別の態様は、画像生成方法である。この方法は、単一の記憶領域 を複数のブロックに分けて、各ブロックに個別ルックアップテーブルを割り当てた統合 ルックアップテーブルにおいて、参照アドレスをオフセットすることにより、複数の個別 ルックアップテーブルの 、ずれか〖こ切り替えて参照し、画像生成に必要な参照情報 を取得する。
[0010] 本発明のさらに別の態様もまた、画像生成方法である。この方法は、単一の記憶領 域を複数のブロックに分けて、各ブロックに個別ルックアップテーブルを割り当てた統 合ルックアップテーブルのブロック割り当てに関する設定情報をレジスタに設定する ステップと、レジスタに設定されたブロック割り当てに関する設定情報をもとに、特定 の個別ルックアップテーブルの割り当て位置を求め、参照先の個別ルックアップテー ブルを切り替えるステップと、特定の個別ルックアップテーブルを参照して、画像生成 に必要な参照情報を取得するステップとを含む。
[0011] なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コ ンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である
発明の効果
[0012] 本発明によれば、品質の高い描画データを高速に生成することができる。
図面の簡単な説明
[0013] [図 1]実施の形態に係る画像生成装置の構成図である。
[図 2]図 1の描画ブロックの構成図である。
[図 3]図 2の描画演算ユニットの詳細な構成を説明する図である。
[図 4]図 3のテクスチャユニットの構成図である。
[図 5]図 4の統合ルックアップテーブルの構成を説明する図である。
[図 6]ピクセルにマッピングされたテクセルを説明する図である。
[図 7]LOD別のカラールックアップテーブルを格納した統合ルックアップテーブルを 説明する図である。
[図 8]LOD別のカラールックアップテーブルを説明する図である。
[図 9]実施の形態に係るテクスチャユニットによるテクスチャマッピング処理の手順を 説明するフローチャートである。
[図 10]3次元レイヤテクスチャの構成を説明する図である。
[図 11] 3次元レイヤテクスチャのレイヤ別のカラールックアップテーブルを格納した統 合ルックアップテーブルを説明する図である。
[図 12]ミツプマップテクスチャの構成を説明する図である。
[図 13]ミツプマップテクスチャの解像度レベル別のカラールックアップテーブルを格納 した統合ルックアップテーブルを説明する図である。
符号の説明
[0014] 10 ラスタライザ、 12 分配部、 20 描画演算ユニット、 30 シエーダユニット、
32 シエーダクラスタ、 36 メモリアクセス部、 40 メモリ、 50 テクスチャュ-ッ ト、 52 コンフィグレーションレジスタ群、 58 演算部、 60 記憶部、 62 テクス チヤデータ、 64 統合ルックアップテーブル、 65 個別ルックアップテーブル、 6 8 LOD算出部、 70 ルックアップテーブル参照部、 100 描画ブロック、 110 制御ブロック、 120 入出力ブロック、 130 記憶装置、 140 表示装置、 150 バス、 200 画像生成装置。
発明を実施するための最良の形態
[0015] 実施の形態 1
図 1は、実施の形態 1に係る画像生成装置 200の構成図である。画像生成装置 20 0は、描画ブロック 100と制御ブロック 110と入出力ブロック 120とがバス 150で接続さ れて構成され、入出力ブロック 120には記憶装置 130と表示装置 140が接続される。 入出力ブロック 120は、ネットワーク経由で他の装置と通信して、描画に必要なデー タを外部から取得する構成であってもよ ヽ。
[0016] 制御ブロック 110は、この画像生成装置 200全体を制御するブロックであり、画像生 成装置 200内部と、記憶装置 130、表示装置 140などの外部周辺装置との間のデー タ転送の同期管理、画像生成装置 200内部の各ユニットからの割り込みの処理、タイ マーの管理などを行う。
[0017] 入出力ブロック 120は、記憶装置 130に格納された 3次元モデル情報や各種パラメ ータを読み込み、描画ブロック 100に提供する。入出力ブロック 120は、ネットワーク 経由で外部装置力も描画に必要なデータを受信して、描画ブロック 100に提供しても よい。入出力ブロック 120は、描画ブロック 100が出力する描画データを表示装置 14 0に表示する。
[0018] 描画ブロック 100は、入出力ブロック 120から与えられる 3次元モデル情報をもとに 描画データを生成し、フレームバッファに書き込むレンダリング処理を行う。
[0019] 図 2は、描画ブロック 100の構成図である。ラスタライザ 10は、入出力ブロック 120 力も描画プリミティブの頂点データを受け取る。描画プリミティブは一般的には三角形 であり、ラスタライザ 10は、 3次元空間上の三角形を投影変換により描画平面上の三 角形に変換するビュー変換を行い、さらに、描画平面上の三角形を描画平面の水平 方向に沿ってスキャンしながら、 1列毎に量子化されたピクセルに変換するラスター処 理を行う。ラスタライザ 10により、描画プリミティブがピクセル展開され、各ピクセルに ついて、 RGBカラー値、 α値、 Ζ値を含むピクセル情報が算出される。
[0020] ラスタライザ 10は、スキャンラインに沿って所定の大きさのピクセル領域 (以下、描 画対象領域という)を生成し、後段の描画演算ユニット 20に与える。描画演算ユニット 20には、シエーダユニット 30と、メモリ 40と、テクスチャユニット 50とが含まれる。メモリ 40内には、フレームバッファとテクスチャバッファが設けられる。なお、フレームバッフ ァとテクスチャバッファは、単一のメモリ内に設けられてもよぐ物理的に別個のメモリ に設けられてもよい。
[0021] ラスタライザ 10から描画演算ユニット 20に供給された描画対象領域は、キューにス タックされ、シエーダユニット 30は、キューにスタックされた描画対象領域を順に処理 する。
[0022] シエーダユニット 30は、ラスタライザ 10により算出されたピクセル情報をもとに、シェ ーデイング処理を行い、テクスチャユニット 50により得られたテクセル情報をもとに、テ タスチヤマッピング後のピクセル色を定め、メモリ 40内のフレームバッファに描画デー タを書き込む。シエーダユニット 30は、さらに、フレームバッファに保持された描画デ ータに対して、フオギング、アルファブレンデイング等の処理を行い、最終的な描画色 を求め、フレームバッファの描画データを更新する。フレームバッファに記憶された描 画データは、入出力ブロック 120により読み出され、表示装置 140に出力される。 [0023] テクスチャユニット 50は、シエーダユニット 30からテクスチャデータを指定するパラメ ータの入力を受け取り、テクスチャデータのアドレスを算出して、メモリ 40内のテクス チヤバッファに対して必要なテクスチャデータを要求する。テクスチャユニット 50は、 テクスチャノ ッファ力ら読み出されたテクスチャデータをキャッシュし、ノ ィリニア補間 、トライリニア補間などのフィルタ処理を施して、シエーダユニット 30に出力する。
[0024] 図 3は、描画演算ユニット 20の詳細な構成を説明する図である。描画演算ユニット 2 0内のシエーダユニット 30は、非同期動作する複数のシエーダクラスタ 32をもち、そ れぞれが担当するピクセルデータを処理することでピクセルの描画処理を並列に実 行する。
[0025] 分配部 12は、キューにスタックされた描画対象領域の処理を担当するシヱーダクラ スタ 32を決定し、各種パラメータを生成して、描画対象領域とパラメータをそのシエー ダクラスタ 32に与える。
[0026] 描画演算ユニット 20内には、 1つのテクスチャユニット 50が設けられており、各シェ ーダクラスタ 32は、テクスチャデータを指定するためのテクスチャパラメータを含むテ タスチヤロード命令をテクスチャユニット 50に入力し、テクスチャユニット 50からテクス チヤマッピング処理後のテクスチャデータの出力を受け取る。
[0027] シエーダクラスタ 32は、フラットシェーディング、グーローシェーディングなどのシェ 一ディングを行い、各描画ピクセルのカラー値を決定し、メモリ 40内のフレームバッフ ァに書き込む。さらに、シエーダクラスタ 32は、テクスチャユニット 50から出力されたテ タスチヤデータをもとに、ピクセルにマッピングされたテクセルのカラー値をフレームバ ッファ力も読み出されたピクセルのカラー値にブレンドする。シエーダクラスタ 32は、 ピクセルのピクセル色、テクセル色、アルファ値、フォグ値が決まると、最終的な描画 ピクセルデータをフレームバッファに書き込む。メモリアクセス部 34は、シエーダクラス タ 32によるフレームバッファに対するピクセルデータの読み書きを制御する。
[0028] なお、テクスチャユニット 50は、シエーダクラスタ 32からテクスチャロード命令を受け ると、テクスチャのアドレス計算、メモリアクセスおよびフィルタリングの処理を行うため 、シエーダクラスタ 32における演算に比べて出力が得られるまでに時間がかかる。そ のため、シエーダクラスタ 32はテクスチャロード命令の実行後、処理中の描画対象領 域以外の描画対象領域の処理を行い、実行効率を上げる。
[0029] 図 4は、テクスチャユニット 50の構成図である。テクスチャユニット 50は、テクスチャ 座標値をテクセル座標値に変換してテクスチャバッファ内のアドレスを算出し、算出さ れたアドレスをもとにテクセル情報を読み出し、ピクセルにマッピングされるテクセル のカラー情報をバイリニアフィルタなどのフィルタリング処理により求める。以下、テク スチヤユニット 50の構成を説明する。
[0030] 演算部 58は、複数のシエーダクラスタ 32からテクスチャロード命令、パラメータ取得 命令などの入力を受け付け、命令を順に処理して、処理結果をシエーダクラスタ 32 に渡す。
[0031] テクスチャロード命令にはテクスチャデータを指定するテクスチャパラメータが含ま れる。テクスチャパラメータは、テクスチャ座標値、テクセル座標値、 LOD (level of detail)値などを含む。この LOD値はシエーダクラスタ 32により計算されたものであり、 後述のテクスチャユニット 50内で計算される LOD値と区別するために、シエーダクラ スタ 32により与えられる LOD値を外部入力 LOD値と呼び、後者のテクスチャユニット 50内で計算される LOD値を内部生成 LOD値と呼ぶ。
[0032] 外部入力 LOD値はテクスチャパラメータとして与えられることも、与えられないことも ある。また、外部入力 LOD値は描画オブジェクト単位に与えても、ピクセル単位で与 えてもよい。外部入力 LOD値が与えられる場合は、外部入力 LOD値が内部生成 L OD値に優先して利用される。内部生成 LOD値は、後述のようにテクスチャがマツピ ングされるポリゴン表面の傾きによって決まる値であり、テクセルの奥行きに応じた値 となる。一般には遠いほど詳細度を下げてテクスチャを描画する力 遠くのオブジェク トを詳細度を上げて描画する場合もある。そのような場合に、外部入力 LOD値を与え て、内部生成 LOD値に優先させることができる。以下では、混乱の生じない限り、内 部生成 LOD値を単に LOD値と呼んで説明する。
[0033] コンフィグレーションレジスタ群 52は、テクスチャユニット 50の動作を規定する各種 設定情報をコンフィグレーション情報として保持するコンフィグレーションレジスタの集 まりである。コンフィグレーションレジスタ群 52は設定された値を保持するため、同じ モードや条件を直前の設定のままで続けて使用する場合は、改めて設定し直す必要 はない。コンフィグレーションレジスタ群 52には、テクスチャを使用するための動作モ ードゃパラメータをそれぞれ保持するレジスタの他、後述の統合ルックアップテープ ル 64を使用するためのフラグ、統合ルックアップテーブル 64の基準アドレス、テープ ル内の個別カラールックアップテーブルの割り当て形式や割り当て位置に関する情 報などをそれぞれ保持するレジスタがある。
[0034] 演算部 58は、コンフィグレーションレジスタ群 52に記憶された設定情報にもとづい てテクスチャデータに対してバイリニア補間などのフィルタリング処理を行う。
[0035] 記憶部 60は、テクスチャデータ 62と統合ルックアップテーブル 64を記憶する。記憶 部 60は、メモリ 40から読み出されたテクスチャデータ 62や統合ルックアップテーブル 64を保持するバッファとして利用される。記憶部 60は、演算部 58からの要求に応じ て、テクスチャデータ 62を演算部 58に供給する力 記憶部 60を介せずに、演算部 5 8がメモリ 40内のテクスチャバッファから直接テクスチャデータ 62を読み込む構成で あってもよい。
[0036] 統合ルックアップテーブル 64は、テクセルのカラー情報をインデックスして格納する カラールックアップテーブル (CLUT)として利用される他、必要に応じて他の情報を インデックスして格納する一般的なルックアップテーブル (LUT)としても利用される。 カラールックアップテーブルはルックアップテーブル参照部 70により参照される。また 、一般的なルックアップテーブルの場合、シエーダクラスタ 32が直接ルックアップテー ブルを参照することもできる。
[0037] テクスチャデータは、各テクセルのカラー値を直接もつのではなぐカラー値に対す るインデックスをテクセル値としてもつ。これにより、テクスチャデータの効率的な圧縮 が可能となる。インデックス値に対応するカラー値の情報は、統合ルックアップテープ ル 64に参照情報として格納されて与えられる。統合ルックアップテーブル 64は、カラ 一情報を記述するエントリをインデックスの番号順に並べたカラールックアップテープ ルを複数格納したものである。
[0038] 演算部 58は、インデックス形式で与えられたテクセル色を実際のカラー値に変換す るために、テクセルのインデックス値をルックアップテーブル参照部 70に入力として 与える。ルックアップテーブル参照部 70は、統合ルックアップテーブル 64を参照して 、テクセルのインデックス値に対応するカラー情報を取得し、演算部 58に出力する。
[0039] 図 5は、統合ルックアップテーブル 64の構成を説明する図である。統合ルックアップ テーブル 64は、単一の記憶領域を複数のブロックに分割し、ブロック毎に個別ルック アップテーブル 65a〜65c (以下、総称して個別ルックアップテーブル 65という)を格 納した構成をもつ。ルックアップテーブル参照部 70は、ブロック番号を指定して、統 合ルックアップテーブル 64内の複数の個別ルックアップテーブル 65のいずれかを選 択的に参照することができる。
[0040] 統合ルックアップテーブル 64の記憶領域の各ブロックの割り当て位置に関する情 報は、コンフィグレーションレジスタ群 52内の所定のレジスタに設定される。割り当て 位置は、統合ルックアップテーブル 64の記憶領域の基準アドレス力 各ブロックの先 頭アドレスまでのオフセット値で与えられる。ルックアップテーブル参照部 70は、コン フィグレーシヨンレジスタ群 52の所定のレジスタに設定されたブロックの割り当て位置 に関する情報を取得して、ブロック番号で指定された個別ルックアップテーブル 65の 基準アドレスを計算し、その基準アドレスをもとに、指定された個別ルックアップテー ブル 65を参照する。
[0041] LOD算出部 68は、演算部 58からテクセルの座標値 (u, v)とそのテクセルのマツピ ング先のピクセルの座標値 (X, y)の情報を得て、ピクセル座標の局所変化に対する テクスチャのテクセル座標の局所変化をもとに、テクセルを描画する際の詳細度を示 す LOD値を算出する。以下、 LOD値の算出方法を説明する。
[0042] 図 6は、ピクセルにマッピングされるテクセルを説明する図である。縦横 2ピクセルの 画素領域において、第 1ピクセル 210にはテクセル座標(UOO, VOO)がマッピングさ れるとする。同様に、第 2ピクセル 211にはテクセル座標(U10, V10)、第 3ピクセル 212にはテクセル座標(UOl, V01)、第 4ピクセル 213にはテクセル座標(1111, VI 1)がマッピングされるとする。
[0043] LOD算出部 68は、ピクセル座標 (x, y)の変化に対するテクセル座標 (u, v)の変 化量 duZdx、 du/dy, dvZdx、 dvZdyを次式で求める。
du/dx= (f (UlO-UOO) +f (U11— UOl) ) X O. 5
du/dy= (f (UOl— UOO) +f (Ul l— U10) ) X O. 5 dv/dx= (f(VlO-VOO) +f (Vll— V01)) XO. 5
dv/dy= (f(VOl-VOO) +f (Vll— VIO)) XO. 5
ここで、 f (X) = I x Iまたは f (X) =xであり、前者の場合、上記の式において、隣接ピ クセルとのテクセル座標値の差の絶対値が得られ、後者の場合は差が得られる。コン フィグレーシヨンレジスタ群 52の設定により、絶対値を取るかどうかを切り替えることが できる。
[0044] LOD算出部 68による LOD計算には、イソトロピックフィルタ計算と、ァ-ソトロピック フィルタ計算とがあり、イソトロピックフィルタ計算には、さらにユークリッド距離をもとに した計算モードと、マンハッタン距離をもとにした計算モードがあり、コンフィグレーショ ンレジスタ群 52の設定により切り替えることができる。
[0045] イソトロピックフィルタによるユークリッド距離計算モードでは、次式により LOD値が 計算される。
PX= [ (du/dX) 2+ (dv/dx) 2]
Py= [ (du/dy)2+ (dv/dy) 2] 1/2
LOD=K+log (max(Px、Py))
2
ここで Kはノィァスであり、視点からテクスチャが貼り付けられる描画プリミティブまで の距離に依存して決まる。この計算により、テクスチャが貼り付けられる描画プリミティ ブの傾きが LOD値に反映される。
[0046] イソトロピックフィルタによるマンハッタン距離計算モードでは、次式により LOD値が 計算される。
Figure imgf000012_0001
Py=abs(du/ dy) +abs、dvZ dy)
LOD=K+log2(max(Px、 Py))
ここで abs ()は引数の絶対値を返す関数である。
[0047] ァ-ソトロピックフィルタによるモードでは、次式により LOD値が計算される。
Figure imgf000012_0002
Py=abs(du/ dy) +abs、dvZ dy)
Pmax = max (Px, Py) Pmin=min (Px, Py)
Anisotropy =min (ceil (Pmax/Pmin) , MAXTAP)
LOD=K+log2 (Pmax/ Anisotropy)
ここで ceil Oは、引数に対して、それ以上で、最小の整数値を返す関数である。 MA XTAPは、最大のタップ数である。
[0048] 図 7は、統合ルックアップテーブル 64の一実施例として、 LOD別のカラールックァ ップテーブルを複数格納した統合ルックアップテーブル 64を説明する図である。統 合ルックアップテーブル 64の記憶領域は、一例として、 17のブロックに分割され、各 ブロックに LOD別のカラールックアップテーブルが割り当てられる。同図において、 L OD0〜LOD16は、 LOD値を示すもので、 LODの後の数字が大きいほど詳細度が 低い。第 1のブロックには、カラー値を 256エントリ格納することのできる LOD0用の力 ラールックアップテーブル 300が割り当てられ、第 2〜第 17のブロックには、それぞれ カラー値を 16エントリ格納することのできる LODl〜LOD16用のカラールックアップ テーブル 301〜316が割り当てられる。各ブロックと LOD値の対応関係は、コンフィ グレーシヨンレジスタ群 52に設定される。
[0049] 図 8 (a)、 (b)は、統合ルックアップテーブル 64に格納された LOD別のカラールック アップテーブルを説明する図である。図 8 (a)は、 LOD0用のカラールックアップテー ブル 300であり、 RGB値と α値からなるカラー値 (R, G, Β, α )を 1つのエントリとして 、(R , G , B , a )〜(R , G , B , a )までの 256エントリが格納される。図
1 1 1 1 256 256 256 256
8 (b)は、 LOD1用のカラールックアップテーブル 301であり、 (R , G , B , a )〜( R , G , B , α )までの 16エントリが格納される。各カラールックアップテーブル
16 16 16 16
には、異なるカラー値のエントリが格納される。 LOD別のカラールックアップテーブル は、詳細度に応じて異なるカラー値を格納したカラーパレットとして利用される。
[0050] LOD別の統合ルックアップテーブル 64は、これ以外にもいろいろな構成が可能で ある。たとえば、 LOD値が大きくなるほど、すなわち詳細度が低くなるほど、力ラール ックアップテーブルのエントリ数が減るように統合ルックアップテーブル 64を構成して ちょい。
[0051] LOD算出部 68は、算出した LOD値をルックアップテーブル参照部 70に与える。 ルックアップテーブル参照部 70は、 LOD算出部 68から与えられた LOD値にもとづ V、て、統合ルックアップテーブル 64内の参照すべきカラールックアップテーブルを特 定する。具体的には、ルックアップテーブル参照部 70は、コンフィグレーションレジス タ群 52の設定情報をもとに、 LOD値力 ブロック番号を求め、ブロックのオフセットァ ドレスを統合ルックアップテーブル 64の基準アドレスに加算することで、そのブロック の参照アドレスを求める。
[0052] ルックアップテーブル参照部 70は、該当ブロックの参照アドレスにもとづ 、て、 LO D算出部 68から与えられた LOD値に対応したカラールックアップテーブルを統合ル ックアップテーブル 64内で選択し、その選択されたカラールックアップテーブルにお いて、テクセルのインデックス値を参照アドレスのオフセットに用いて、インデックス値 に対応するカラー値を読み出す。これにより、インデックス形式で与えられたテクセル 値が実際のカラー値に変換され、演算部 58に与えられる。
[0053] 図 9は、テクスチャユニット 50によるテクスチャマッピング処理の手順を説明するフロ 一チャートである。
[0054] テクスチャマッピング処理に先立ち、テクスチャユニット 50の動作モードや各種パラ メータなどの設定情報がコンフィグレーションレジスタ群 52に設定される(S 10)。
[0055] 演算部 58は、テクスチャロード命令力もテクスチャ座標(s, t)を取得し、テクスチャ サイズを乗じることにより、テクセル座標 (u, V)を計算する(S12)。次に、演算部 58 は、テクセル座標をもとにして、記憶部 60内のテクスチャデータ 62を参照するための アドレスを計算する (S 14)。
[0056] 演算部 58は、記憶部 60内のテクスチャデータ 62を参照し、計算されたアドレスに あるテクセル値を取得する(S 16)。テクスチャデータ 62は、インデックスカラー形式で 与えられているため、テクセル値はインデックス番号である。 LOD算出部 68は、その テクセルの LOD値を上述の方法で算出する(S18)。
[0057] ルックアップテーブル参照部 70は、統合ルックアップテーブル 64の中から、計算さ れた LOD値に対応する LOD別のカラールックアップテーブルを選択し、テクセルの インデックス番号に対応するカラー値をその LOD別のカラールックアップテーブルか ら取得する(S20)。演算部 58は、得られたテクセルのカラー値をもとに、動作モード にしたがってバイリニア補間などのフィルタリングを行う(S22)。
[0058] 描画対象領域に対して、一連のテクスチャマッピング処理が終わるまで(S24の N) 、ステップ S12に戻り、ステップ S12〜S22の処理を続け、その描画対象領域に対す るテクスチャマッピング処理が終わると(S24の Y)、終了する。
[0059] ステップ S20において、 LOD値により、統合ルックアップテーブル 64内の異なる力 ラールックアップテーブルを参照するが、その際、コンフィグレーションレジスタ群 52 の再設定は不要である。統合ルックアップテーブル 64内に複数のカラールックアップ テーブルが格納されており、統合ルックアップテーブル 64の基準アドレスは変更され ること力なく、単に参照アドレスをオフセットすることで、参照すべきカラールックアップ テーブルを置き換えることができる力もである。すなわち、ステップ S 10において設定 されたコンフィグレーションレジスタ群 52の設定を変更することなぐそのまま用いるこ とができる。したがって、コンテキスト切り替えに伴う処理のオーバーヘッドをなくし、 L OD値によってカラールックアップテーブルを適宜切り替えながら、テクスチャマツピン グを行うことができる。
[0060] 本実施の形態によれば、テクスチャを貼り付けるポリゴン表面の傾きにもとづいて計 算される LOD値に応じてカラールックアップテーブルを切り替えることができる。たと えば、視点力 遠い位置にあるテクセルに対しては、色数の少ないカラールックアツ プテーブルを適用し、詳細度を下げてテクセル色を決め、近い位置にあるテクセルに 対しては、色数の多いカラールックアップテーブルを適用し、詳細度を上げてテクセ ル色を決めることにより、テクスチャの描画品質を保つことができる。また詳細度の低 V、テクセルには色数の少な!/、カラールックアップテーブルを用いることで、インデック ス形式のテクスチャデータの圧縮効率を向上することができる。
[0061] コンフィグレーションレジスタ群 52には、統合ルックアップテーブル 64内の個別の力 ラールックアップテーブルの割り当て位置に関する情報などが保持されて 、るため、 コンフィグレーションレジスタ群 52の設定情報すなわちコンテキストを変更することな く、単に統合ルックアップテーブル 64の参照アドレスを変えるだけで、 LOD値に応じ たカラールックアップテーブルを選択的に参照することができる。これにより、コンテキ ストの切り替えによるオーバーヘッドなしで、テクスチャを貼り付ける面の LOD値に変 化に応じて、細力べカラーパレットを切り替えてテクセル色を決めることができる。頻繁 にカラーパレットを切り替えても、処理効率が悪化しないため、処理速度を保ちながら 、描画品質の向上を図ることができる。
[0062] 上記の説明では、テクスチャユニット 50は、テクスチャデータとして、 2次元テクスチ ャを用いた力 複数の 2次元テクスチャをレイヤ構造でもたせた 3次元レイヤテクスチ ャを用いることちでさる。
[0063] 図 10は、 3次元レイヤテクスチャ 350の構成を説明する図である。 3次元レイヤテク スチヤ 350は (u, V, w)座標で表され、(u, V)座標で規定される複数の 2次元テクス チヤが w軸方向に重なって構成される。同図の例では、レイヤ 0からレイヤ 15までの 複数の 2次元テクスチャ 320〜335が w軸方向にレイヤ構造をなしており、 w値として 、レイヤ番号を指定することで、いずれかのレイヤの 2次元テクスチャを選択的に参照 することができる。
[0064] 図 11は、レイヤ別のカラールックアップテーブルを格納した統合ルックアップテープ ル 64の構成を説明する図である。この統合ルックアップテーブル 64は、図 10の 3次 元レイヤテクスチャ 350の各レイヤに対応して、 256エントリを格納するレイヤ 0用の力 ラールックアップテーブル 340と、それぞれ 16エントリを格納するレイヤ 1〜レイヤ 15 用のそれぞれのカラールックアップテーブル 341〜355とを含む。
[0065] この実施例によれば、 3次元レイヤテクスチャにおいてレイヤを切り替えてテクスチ ャを参照する際、コンテキストの切り替えをせずに、各レイヤ毎に用意された力ラール ックアップテーブルを切り替えて参照することができ、処理コストを削減することができ る。
[0066] さらに、テクスチャユニット 50は、テクスチャデータとして、解像度の異なる複数の 2 次元テクスチャを含むミツプマップテクスチャを用いて、ミツプマッピングを行うこともで きる。
[0067] 図 12は、ミツプマップテクスチャ 380の構成を説明する図である。ミツプマップテクス チヤ 380は、あらかじめフィルタをかけて縮小したテクスチャを縮小レベル毎に段階 的に複数もたせたものである。同図の例では、レベル 0のテクスチャ 360、レベル 1の テクスチャ 361、レベル 2のテクスチャ 362、レベル 3のテクスチャ 363の順で解像度 が低くなるミツプマップテクスチャの構造が示されている。ミツプマッピングでは、テクス チヤマッピング時に、ミツプマップのレベルが指定され、ポリゴンの解像度に合ったテ タスチヤが選択されてポリゴン表面に貼り付けられる。
[0068] 図 13は、解像度レベル別のカラールックアップテーブルを格納した統合ルックアツ プテーブル 64の構成を説明する図である。この統合ルックアップテーブル 64は、図 1 2のミツプマップテクスチャ 380の各解像度レベルに対応して、 256エントリを格納す るレベル 0用のカラールックアップテーブル 370、 128エントリを格納するレベル 1用 のカラールックアップテーブル 371、 64エントリを格納するレベル 2用のカラールック アップテーブル 372、および 64エントリを格納するレベル 3用のカラールックアップテ ーブノレ 373を含む。
[0069] 演算部 58が、ミツプマップテクスチャ 380のレベル 0のテクスチャ 360を使用してテ タスチヤマッピングを行う場合、ルックアップテーブル参照部 70は、統合ルックアップ テーブル 64内のレベル 0用のカラールックアップテーブル 370を参照し、インデック ス形式のテクセル値をカラー値に変換する。同様に、演算部 58が、ミツプマップテク スチヤ 380のレベル 1のテクスチャ 361を使用してテクスチャマッピングを行う場合、 ルックアップテーブル参照部 70は、レベル 1用のカラールックアップテーブル 371を 参照するなど、ミツプマップテクスチャ 380のレベルに合ったカラールックアップテー ブルを統合ルックアップテーブル 64から選択的に参照し、インデックス形式のテクセ ル値をカラー値に変換する。
[0070] この実施例によれば、コンテキストの切り替えのオーバーヘッドなしで、ミツプマップ のレベルに合ったカラールックアップテーブルを統合ルックアップテーブル 64から選 択的に参照し、ミツプマッピングを行うことができ、処理の効率ィ匕を図ることができる。
[0071] 以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの 各構成要素や各処理プロセスの組合せに 、ろ 、ろな変形例が可能なこと、またそうし た変形例も本発明の範囲にあることは当業者に理解されるところである。
[0072] そのような変形例を説明する。シヱーダユニット 30の各シヱーダクラスタ 32内には、 同期動作によりピクセルデータを並列に処理する複数のシエーダノイブが含まれても よい。この構成により、描画演算ユニット 20内でピクセルデータのパイプライン処理を 行うことができる。
[0073] 上記の説明では、テクスチャユニット 50がテクセル毎にカラーパレットを参照する例 として、統合ルックアップテーブル 64の構成を説明した力 ルックアップテーブルに はカラー情報以外の情報をもたせてもよい。たとえば、テクスチャの貼り付けられる面 の法線ベクトルの情報にインデックスをつけ、インデックス順に法線ベクトルの情報を ルックアップテーブルに格納してもよ 、。法線ベクトルの情報はバンプマッピングに利 用される。また、ルックアップテーブルに非線形の数学関数の代表点の値にインデッ タスをつけ、インデックス順に代表点の値をルックアップテーブルに格納してもよ!/、。 この場合、シエーダクラスタ 32は、ルックアップテーブルを参照して代表点の座標値 を取得し、代表点間を適宜補間計算することにより関数値を求める。
[0074] 上記の説明では、カラールックアップテーブルはインデックス順にカラー値をェント リとして格納したものであった力 カラールックアップテーブルは、インデックス値と力 ラー値とを対応づけて格納したものであってもよい。その場合、ルックアップテーブル 参照部 70は、テクセルのインデックス値をキーとしてカラールックアップテーブルを検 索し、インデックス値に対応するカラー値を取得する。さらに、カラールックアップテー ブルはハッシュテーブルの構成をとつてもよい。その場合、ルックアップテーブル参照 部 70は、インデックス値のハッシュ値にもとづ!/、てカラールックアップテーブルを検索 する。
[0075] ミツプマップテクスチャにおいて、各レベルのテクスチャを 3次元レイヤテクスチャで 構成してもよい。この場合、統合ルックアップテーブル 64は、複数のミツプマップのレ ベル別のカラールックアップテーブルを含み、さらに各カラールックアップテーブルが 複数のレイヤ別のカラールックアップテーブルを含むといった入れ子構造であっても よぐルックアップテーブル参照部 70は、ミツプマップレベルとレイヤを組み合わせて 指定することにより、統合ルックアップテーブル 64内の特定のカラールックアップテー ブルを選択的に参照することができる。
[0076] 実施の形態では、ルックアップテーブルを用いたテクスチャマッピングなどのピクセ ル演算処理を説明した力 同様の構成のルックアップテーブルは、ジオメトリ演算にも 利用することができる。たとえば、ディスプレースメントマッピング(Displacement Mapping)で参照するルックアップテーブルに本発明を適用してもよ 、。レンダリング 過程でのマッピングにより擬似的にポリゴン表面に凹凸をつけるバンプマップとは異 なり、ディスプレースメントマッピングは、ジオメトリ演算の過程で頂点データを直接操 作することでポリゴン表面に変形をカ卩える。具体的には、ディスプレースメントマツピン グでは、ポリゴンモデルに凹凸を表す頂点情報を貼り込む。ベースとなるポリゴン表 面に法線データが貼り付けられることで法線方向に頂点の座標値が変化し、より複雑 な形状が生成される。このディスプレースメントマッピングにおいて、 LOD別のルック アップテーブルに頂点情報を格納し、 LOD値によってルックアップテーブルを切り替 えるようにしてもよい。
産業上の利用可能性
本発明は、描画処理の分野に適用することができる。

Claims

請求の範囲
[1] 単一の記憶領域を複数のブロックに分けて、各ブロックに個別ルックアップテープ ルを割り当てた統合ルックアップテーブルと、
前記統合ルックアップテーブル内のいずれかのブロックの位置を指定することにより 、前記統合ルックアップテーブル内の複数の前記個別ルックアップテーブルの 、ず れかを選択的に参照し、画像生成処理演算に必要な参照情報を取得する参照部と を含むことを特徴とする画像生成装置。
[2] 前記個別ルックアップテーブルは、インデックス番号順に前記参照情報を格納した ものであり、
前記参照部は、指定された前記インデックス番号に対応する前記参照情報を前記 個別ルックアップテーブルから取得することを特徴とする請求項 1に記載の画像生成 装置。
[3] 前記複数のブロックは、それぞれ異なる描画詳細度に対応づけられており、前記参 照部は、描画対象領域の描画詳細度に応じたブロックの位置を指定することにより、 前記描画対象領域の描画詳細度に対応する個別ルックアップテーブルを選択的に 参照することを特徴とする請求項 1または 2に記載の画像生成装置。
[4] 前記複数の個別ルックアップテーブルに格納される前記参照情報の個数は、前記 描画詳細度に応じて異なることを特徴とする請求項 3に記載の画像生成装置。
[5] 前記参照情報はカラー情報であることを特徴とする請求項 1から 4のいずれかに記 載の画像生成装置。
[6] 単一の記憶領域を複数のブロックに分けて、テクスチャに関する参照情報の異なる 組み合わせを格納した個別ルックアップテーブルを各ブロックに割り当てた統合ルツ クアップテーブルと、
前記統合ルックアップテーブル内の複数の前記個別ルックアップテーブルのいず れかを選択的に参照し、前記参照情報を取得する参照部と、
前記参照部により取得された前記参照情報を利用して、テクスチャデータを演算処 理する演算部とを含むことを特徴とする画像生成装置。
[7] 前記統合ルックアップテーブルのブロック割り当てに関する設定情報を格納するレ ジスタをさらに含み、
前記参照部は、前記レジスタに設定された前記ブロック割り当てに関する設定情報 をもとに、特定の個別ルックアップテーブルの割り当て位置を取得することを特徴とす る請求項 6に記載の画像生成装置。
[8] 前記複数の個別ルックアップテーブルは、それぞれ、描画詳細度別に前記テクス チヤに関する参照情報の異なる組み合わせを格納したものであり、
前記参照部は、テクスチャデータのマッピング先の描画対象領域の描画詳細度を 指定することにより、指定された描画詳細度に対応する個別ルックアップテーブルを 選択的に参照することを特徴とする請求項 6または 7に記載の画像生成装置。
[9] 前記テクスチャデータのマッピング先の描画対象領域の描画詳細度を、ピクセル座 標の局所変化に対するテクスチャのテクセル座標の局所変化により算出する詳細度 算出部をさらに含むことを特徴とする請求項 8に記載の画像生成装置。
[10] 前記テクスチャデータは、レイヤの異なる複数のテクスチャを含み、
前記複数の個別ルックアップテーブルは、それぞれ、前記レイヤ別に前記テクスチ ャに関する参照情報の異なる組み合わせを格納したものであり、
前記参照部は、前記演算部において利用されるテクスチャのレイヤを指定すること により、指定されたレイヤに対応する個別ルックアップテーブルを選択的に参照する ことを特徴とする請求項 6または 7に記載の画像生成装置。
[11] 前記テクスチャデータは、解像度レベルの異なる複数のテクスチャを含み、
前記複数の個別ルックアップテーブルは、それぞれ、前記解像度レベル別に前記 テクスチャに関する参照情報の異なる組み合わせを格納したものであり、
前記参照部は、前記演算部にぉ 、て利用されるテクスチャの解像度レベルを指定 することにより、指定された解像度レベルに対応する個別ルックアップテーブルを選 択的に参照することを特徴とする請求項 6または 7に記載の画像生成装置。
[12] 前記個別ルックアップテーブルは、インデックス番号順にカラー情報を格納したもの であり、
前記参照部は、前記演算部により指定された前記インデックス番号に対応する前 記カラー情報を前記個別ルックアップテーブルから取得することにより、インデックス 形式で与えられたテクセル色に関する情報をカラー情報に変換することを特徴とする 請求項 6から 11のいずれかに記載の画像生成装置。
[13] 単一の記憶領域を複数のブロックに分けて、各ブロックに個別ルックアップテープ ルを割り当てた統合ルックアップテーブルにお 、て、参照アドレスをオフセットするこ とにより、複数の前記個別ルックアップテーブルのいずれかに切り替えて参照し、画 像生成に必要な参照情報を取得することを特徴とする画像生成方法。
[14] 前記複数の個別ルックアップテーブルは、それぞれ、描画詳細度別に画像生成に 必要な参照情報を格納したものであり、前記参照アドレスのオフセットにより、描画対 象領域の描画詳細度に対応する個別ルックアップテーブルが選択的に参照されるこ とを特徴とする請求項 13に記載の画像生成方法。
[15] 単一の記憶領域を複数のブロックに分けて、各ブロックに個別ルックアップテープ ルを割り当てた統合ルックアップテーブルのブロック割り当てに関する設定情報をレ ジスタに設定するステップと、
前記レジスタに設定された前記ブロック割り当てに関する設定情報をもとに、特定 の個別ルックアップテーブルの割り当て位置を求め、参照先の個別ルックアップテー ブルを切り替えるステップと、
前記特定の個別ルックアップテーブルを参照して、画像生成に必要な参照情報を 取得するステップとを含むことを特徴とする画像生成方法。
[16] 前記複数の個別ルックアップテーブルは、それぞれ、描画詳細度別に画像生成に 必要な参照情報を格納したものであり、
前記切り替えるステップは、描画対象領域の描画詳細度に応じて、前記参照先の 個別ルックアップテーブルを切り替えることを特徴とする請求項 15に記載の画像生 成方法。
PCT/JP2005/007137 2004-04-13 2005-04-13 画像生成装置および画像生成方法 WO2005101320A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/547,449 US8319789B2 (en) 2004-04-13 2005-04-13 Image generation device and image generation method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004-118328 2004-04-13
JP2004118328A JP4198087B2 (ja) 2004-04-13 2004-04-13 画像生成装置および画像生成方法

Publications (1)

Publication Number Publication Date
WO2005101320A1 true WO2005101320A1 (ja) 2005-10-27

Family

ID=35150205

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/007137 WO2005101320A1 (ja) 2004-04-13 2005-04-13 画像生成装置および画像生成方法

Country Status (3)

Country Link
US (1) US8319789B2 (ja)
JP (1) JP4198087B2 (ja)
WO (1) WO2005101320A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007078466A2 (en) * 2005-12-20 2007-07-12 Microsoft Corporation Aggregation of non-linear pixel effects

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8817035B2 (en) * 2005-12-21 2014-08-26 Nvidia Corporation Texture pipeline context switch
JP2008052398A (ja) * 2006-08-23 2008-03-06 Dainippon Printing Co Ltd 画像合成装置、プログラム、記録媒体
JP4750173B2 (ja) * 2008-11-13 2011-08-17 レノボ・シンガポール・プライベート・リミテッド デュアル・ディスプレイ式のコンピュータ
JP5267255B2 (ja) * 2009-03-18 2013-08-21 株式会社リコー 画像処理装置、画像処理方法及びプログラム
JP5262882B2 (ja) * 2009-03-18 2013-08-14 株式会社リコー 画像処理装置および画像処理方法
KR20110066011A (ko) * 2009-12-10 2011-06-16 한국전자통신연구원 이미지 특성 추출을 이용한 유사 쉐이더 검색장치 및 방법
DE102011120363B4 (de) 2011-12-07 2018-10-31 Magna Exteriors (Germany) Gmbh Abdeckelement
TWI490834B (zh) * 2013-01-28 2015-07-01 E Ink Holdings Inc 顯示裝置及顯示方法
JP6244902B2 (ja) * 2013-12-27 2017-12-13 富士通株式会社 ガジェット間表示連携方法、ガジェット間表示連携プログラム及び情報処理装置
KR102197064B1 (ko) * 2014-10-10 2020-12-30 삼성전자 주식회사 Lod를 조절할 수 있는 그래픽스 프로세싱 유닛, 이의 작동 방법, 및 상기 그래픽스 프로세싱 유닛을 포함하는 장치들
US10460502B2 (en) * 2016-12-14 2019-10-29 Samsung Electronics Co., Ltd. Method and apparatus for rendering object using mipmap including plurality of textures
US10679584B1 (en) * 2017-11-01 2020-06-09 Gopro, Inc. Systems and methods for transforming presentation of visual content
US20190182462A1 (en) 2017-12-08 2019-06-13 Gopro, Inc. Methods and apparatus for projection conversion decoding for applications eco-systems
CN112675545B (zh) * 2021-01-07 2022-12-13 腾讯科技(深圳)有限公司 地表仿真画面的显示方法和装置、存储介质及电子设备
US11640699B2 (en) * 2021-08-06 2023-05-02 Meta Platforms Technologies, Llc Temporal approximation of trilinear filtering

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11339072A (ja) * 1998-04-01 1999-12-10 Real 3 D テクスチャレベルの詳細ディザリング用方法及び装置
JP2000155851A (ja) * 1998-11-20 2000-06-06 Sony Corp テクスチャ・マッピング装置及びこれを具備したレンダリング装置、並びに情報処理装置
JP2002032779A (ja) * 2000-07-19 2002-01-31 Sony Corp データ処理装置及びデータ処理方法、並びに記憶媒体

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5097427A (en) * 1988-07-06 1992-03-17 Hewlett-Packard Company Texture mapping for computer graphics display controller system
GB2240015A (en) * 1990-01-15 1991-07-17 Philips Electronic Associated Texture memory addressing
US6331856B1 (en) * 1995-11-22 2001-12-18 Nintendo Co., Ltd. Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing
US5886705A (en) * 1996-05-17 1999-03-23 Seiko Epson Corporation Texture memory organization based on data locality
US5956431A (en) * 1997-10-02 1999-09-21 S3 Incorporated System and method for fixed-rate block-based image compression with inferred pixel values

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11339072A (ja) * 1998-04-01 1999-12-10 Real 3 D テクスチャレベルの詳細ディザリング用方法及び装置
JP2000155851A (ja) * 1998-11-20 2000-06-06 Sony Corp テクスチャ・マッピング装置及びこれを具備したレンダリング装置、並びに情報処理装置
JP2002032779A (ja) * 2000-07-19 2002-01-31 Sony Corp データ処理装置及びデータ処理方法、並びに記憶媒体

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007078466A2 (en) * 2005-12-20 2007-07-12 Microsoft Corporation Aggregation of non-linear pixel effects
WO2007078466A3 (en) * 2005-12-20 2007-11-01 Microsoft Corp Aggregation of non-linear pixel effects
US7538777B2 (en) 2005-12-20 2009-05-26 Microsoft Corporation Aggregation of non-linear pixel effects
CN101331774B (zh) * 2005-12-20 2012-02-29 微软公司 用于将曲线效果应用于数字图像的***和方法

Also Published As

Publication number Publication date
JP2005301758A (ja) 2005-10-27
US8319789B2 (en) 2012-11-27
US20080094409A1 (en) 2008-04-24
JP4198087B2 (ja) 2008-12-17

Similar Documents

Publication Publication Date Title
WO2005101320A1 (ja) 画像生成装置および画像生成方法
US10417741B2 (en) Varying effective resolution by screen location by altering rasterization parameters
US9754407B2 (en) System, method, and computer program product for shading using a dynamic object-space grid
US20050243101A1 (en) Image generation apparatus and image generation method
US20170061671A1 (en) Gradient adjustment for texture mapping to non-orthonormal grid
US20110310102A1 (en) Systems and methods for subdividing and storing vertex data
US10388033B2 (en) Texture processing apparatus and method
KR19980702804A (ko) 영상 생성 및 조작을 위한 하드웨어 아키텍처
US7405735B2 (en) Texture unit, image rendering apparatus and texel transfer method for transferring texels in a batch
WO2006048961A1 (ja) 描画処理装置および描画処理方法
US6661424B1 (en) Anti-aliasing in a computer graphics system using a texture mapping subsystem to down-sample super-sampled images
JP2006244426A (ja) テクスチャ処理装置、描画処理装置、およびテクスチャ処理方法
US11238639B2 (en) Gradient adjustment for texture mapping to non-orthonormal grid
US20100302259A1 (en) Drawing data processing method, graphics drawing system and graphics drawing data generation program
JPH1186028A (ja) テクスチャ・マッピング性能を向上させた3次元グラフィックス・アクセラレータを含むコンピュータ・システム
EP1288863B1 (en) Method and device for drawing
US7372461B2 (en) Image processing apparatus and method of same
JP2006163944A (ja) 法線マップデータ生成方法、描画処理方法および描画処理装置
JP2003529115A (ja) スーパサンプリング・サンプル・バッファを有し、サンプル位置情報を効果的に記憶するグラフィックス・システム
US7372466B2 (en) Image processing apparatus and method of same
JP3712015B2 (ja) 画像作成装置および方法
US8576219B2 (en) Linear interpolation of triangles using digital differential analysis
JP2006146721A (ja) 描画処理装置および描画処理方法
JP4411939B2 (ja) 演算装置および画像処理装置
JP2007535035A (ja) データ値をメモリに一時的に記憶する方法

Legal Events

Date Code Title Description
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 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): BW GH 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 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

DPEN Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed from 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

WWE Wipo information: entry into national phase

Ref document number: 11547449

Country of ref document: US

122 Ep: pct application non-entry in european phase
WWP Wipo information: published in national office

Ref document number: 11547449

Country of ref document: US