WO2012137243A1 - テクスチャマッピング装置 - Google Patents
テクスチャマッピング装置 Download PDFInfo
- Publication number
- WO2012137243A1 WO2012137243A1 PCT/JP2011/002001 JP2011002001W WO2012137243A1 WO 2012137243 A1 WO2012137243 A1 WO 2012137243A1 JP 2011002001 W JP2011002001 W JP 2011002001W WO 2012137243 A1 WO2012137243 A1 WO 2012137243A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- texture
- information
- polygon
- region
- pixel
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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 texture mapping apparatus for determining color information of each pixel in a polygon using a texture image when drawing the polygon in a graphics system or the like.
- texture mapping for assigning and drawing a two-dimensional image inside a polygon is known in order to improve the expressive power of a polygon used mainly for expressing a three-dimensional model.
- texture coordinates When drawing a polygon using texture mapping, prepare data that includes the position coordinates of each vertex in the output image and the coordinates in the texture image associated with each vertex (hereinafter referred to as texture coordinates). .
- texture coordinates obtained by interpolating the texture coordinates of the vertices are assigned to each pixel in the polygon connecting the vertices on the output image.
- a pixel value is extracted from the texture image using the texture coordinates assigned to each pixel and copied to the output image, thereby obtaining an output image in which the interior of the polygon is filled with the same pattern as the texture image.
- a texture image can be repeatedly mapped within a polygon by assigning texture coordinates exceeding the defined range to the vertex. Therefore, it is known that when an image having the same pattern is repeatedly drawn in a polygon, it is not necessary to prepare a texture image having a repeated pattern, and a texture image corresponding to one pattern can be used, so that the data amount can be saved.
- the higher order bits of the texture coordinates are further set.
- a part of the rectangular area is selected from the texture image, and only that area is repeatedly mapped to the polygon.
- the present invention has been made to solve such a problem, and can reduce a calculation time for enlarging / reducing the width and height of a rectangular area to a power of 2 in advance, and can provide a necessary image quality.
- An object of the present invention is to obtain a texture mapping apparatus that can use a texture image that expresses the image with a minimum size.
- the texture mapping apparatus includes a region information generation unit that generates a plurality of region information representing a partial region of a texture image, and vertex information including vertex coordinates on the output image and texture coordinates associated with the vertex.
- a polygon information generation unit that generates polygon information composed of a plurality of areas and an area ID that identifies one of the plurality of area information, and positions relative to all pixels within the polygon represented by the polygon information on the output image
- the texture coordinates of the pixel information are processed using the rasterize unit that generates pixel information including the coordinates, the texture coordinates, and the region ID, and the region information specified by the region ID of the pixel information, and the processed texture coordinates are used.
- the texture mapping device generates a plurality of arbitrary regions in the texture image as region information, processes the texture coordinates of the pixel information using the region information specified by the region ID of the pixel information, and Since the pixel value is obtained from the texture image using the processed texture coordinates, and the pixel value of the pixel on the output image indicated by the position coordinates of the pixel information is determined using the obtained pixel value. Since a rectangular area with an arbitrary width and height in a texture image can be repeatedly mapped to a polygon, the calculation time required for scaling the width and height of the rectangular area to a power of 2 in advance is reduced. And can prevent the increase in image size or image quality deterioration caused by scaling. Able to use the texture image expressed in size.
- FIG. 7 is an explanatory diagram illustrating an output image obtained as a result of rendering the polygon information of FIG. 6 using the texture image of FIG. 2 and the region information of FIG. 4 in the texture mapping apparatus of Embodiment 1 of the present invention. It is a flowchart which shows the processing content of the rasterize part in the texture mapping apparatus of Embodiment 1 of this invention. It is explanatory drawing which shows the result as which the rasterize part rearranged the polygon information of FIG. 6 in the texture mapping apparatus of Embodiment 1 of this invention.
- FIG. 1 is a configuration diagram illustrating a texture mapping apparatus according to the present embodiment.
- the illustrated apparatus includes an area information generation unit 1, a polygon information generation unit 2, a rendering unit 3, an output unit 4, an area memory 5, a texture memory 6, and an output image memory 7.
- the area information generation unit 1 generates area information representing an arbitrary rectangular area in the texture image, assigns an ID to each area information, and stores the area information in the area memory 5.
- the polygon information generation unit 2 generates polygon information including at least a plurality of vertex information and a region ID that specifies one of the region information.
- the rendering unit 3 performs the mapping so that a part of the texture image in the rectangular region specified by the region ID of the polygon information generated by the polygon information generation unit 2 is repeatedly mapped inside the polygon on the output image.
- An output image is generated on the output image memory 7 by determining the color of each pixel inside the polygon.
- the output unit 4 outputs the output image generated on the output image memory 7 to the image display device 8.
- the area memory 5 is a memory for storing area information
- the texture memory 6 is a memory for storing a texture image
- the output image memory 7 is a memory for storing the output image generated by the rendering unit 3.
- the image display device 8 is a display device for displaying an output image.
- the region information generation unit 1 generates a plurality of region information representing an arbitrary rectangular region in the texture image stored in the texture memory 6, assigns a unique ID to each, and stores it in the region memory 5.
- the texture image is recorded in the texture memory 6 as a two-dimensional array of pixel values representing color information, and 0.0 ⁇ u regardless of the resolution in the two-dimensional space defined by the coordinate axes u and v. It shall be in the range of ⁇ 1.0 and 0.0 ⁇ v ⁇ 1.0.
- the texture image is composed of M ⁇ N pixels
- the length of each pixel in the u-axis and v-axis directions is 1 / M and 1 / N. Further, the coordinates of the center position of the pixel are set as the pixel position.
- FIG. 2 is a diagram illustrating an example of a space defining a texture image and a texture image.
- the region information is represented by four numerical values (uR, vR, wR, hR), and represents the minimum u coordinate and v coordinate in the region, and the width of the region in the u-axis direction and the v-axis direction, respectively.
- the method for determining the area information is arbitrary, but for example, it is determined by a method in which each area is manually specified by a programmer.
- FIG. 3 shows an example of the result of generating the region information in the texture image
- FIG. 4 shows the region information of FIG. 3 stored in the region memory 5.
- the polygon information generation unit 2 generates polygon information including a plurality of vertex information constituting the polygon and a region ID for specifying the region generated by the region information generation unit 1, and outputs the polygon information to the rendering unit 3.
- the vertex information includes at least position coordinates representing a position on the output image and texture coordinates.
- vertices constituting the polygon information are vertices A, B, and C, respectively, the position coordinates and texture coordinates of the vertex A are xA, yA, uA, and vA, and the position coordinates and texture coordinates of the vertex B are xB, yB, and uB. , VB, vertex C, and the coordinate coordinates and texture coordinates are xC, yC, uC, vC.
- the output image is recorded on the output image memory 7 as a two-dimensional array of pixel values, and 0.0 ⁇ x ⁇ 1.0 regardless of the resolution in the two-dimensional space represented by the coordinate axes x and y. , 0.0 ⁇ y ⁇ 1.0.
- FIG. 5 shows an example of the output image coordinate system and the output image initialized in white.
- FIG. 6 shows an example of polygon information
- FIG. 7 shows an output image that should be the result of drawing FIG. 6 using the texture image of FIG.
- the method for generating the vertex coordinates constituting the polygon information is arbitrary.
- the vertex coordinates of each polygon of a three-dimensional polygon model constructed by a programmer using modeling software or the like is converted into a space for defining an output image by projection conversion. It is generated by projective transformation.
- a method for generating the ID and texture coordinates constituting the polygon information is arbitrary.
- the ID is generated by direct designation by a programmer.
- FIG. 8 is a flowchart showing the flow of processing in the rasterizing unit 31.
- the rasterizing unit 31 compares the y-coordinates of the vertices of the polygons, and rearranges the vertices so that the vertices are A, B, and C in order from the smallest y-coordinate (step ST311).
- FIG. 9 shows the result of applying step ST311 to the polygon information of FIG.
- a pointer P that is a reference to a pixel of the output image is prepared, and a reference destination of the pointer P is set to a pixel that is in the polygon on the output image and is closest to the vertex A (step ST312).
- the texture coordinate interpolation unit 311 calculates texture coordinates (uP, vP) obtained by interpolating the texture coordinates of the vertices A, B, and C according to the position coordinates of the pixel pointed to by the pointer P (step ST313).
- the calculated texture coordinates, the region ID of the polygon, and the position coordinates of the pixel are output to the texture mapping unit 32 as pixel information (step ST314).
- FIG. 10 shows some examples of the output pixel information.
- the reference destination of the pointer P is set to the next pixel in the positive direction of the x axis (step ST315). At this time, if the pixel pointed to by the pointer P is inside the polygon, the process returns to step ST313 (step ST316). On the other hand, when the pixel pointed to by the pointer P is outside the polygon, the reference destination of the pointer P is set to the next pixel in the positive direction of the y-axis (step ST317). If the y-coordinate of the pixel pointed to by the pointer P is larger than the y-coordinate of the vertex C, the process ends, and if not, the process continues (step ST318).
- the reference destination of the pointer P is changed to the pixel having the smallest x coordinate among the pixels inside the polygon at the same y coordinate as the pixel pointed to by the pointer P, and the process returns to step ST313 (step ST319).
- FIG. 11 is a flowchart showing a processing flow of the texture coordinate interpolation unit 311.
- the texture coordinate interpolating unit 311 first calculates two intersection points between the straight line extended in parallel with the x axis from the pixel position pointed to by the pointer P and each side of the polygon, and the smaller the x coordinate, the larger the point D. This is designated as point E (step ST3111).
- FIG. 12 is a diagram showing a positional relationship between the pointer P, the point D, and the point E.
- the position coordinate of the point D is set to (xD, yD), and the texture coordinate (uD, vD) obtained by interpolating the texture coordinates of the vertices A, B, and C at the position of the point D is calculated by the following equation (step ST3112). ).
- the position coordinate of point E is (xE, yE) and the texture coordinates of vertices A, B, and C are interpolated at the position of point E, and (uE, vE) is calculated in the same way as (uD, vD). To do.
- the position coordinate of the pixel pointed to by the pointer P is (xP, yP), and the texture coordinates (uP, vP) obtained by interpolating (uD, vD) and (uE, vE) at the pixel position pointed to by the pointer P are obtained. It is calculated by the following equation and returned to the rasterizing unit 31 (ST3113).
- uP uD ⁇ (xE ⁇ xP) / (xE ⁇ xD) + uE ⁇ (xP ⁇ xD) / (xE ⁇ xD)
- vP vD ⁇ (xE ⁇ xP) / (xE ⁇ xD) + vE ⁇ (xP ⁇ xD) / (xE ⁇ xD)
- FIG. 13 is a flowchart showing the flow of processing in the texture mapping unit 32.
- the texture mapping unit 32 acquires region information (uR, vR, wR, hR) indicated by the region ID of the pixel information output from the rasterizing unit 31 from the region memory 5 (step ST321).
- (uP ′, vP ′) obtained by processing the texture coordinates (uP, vP) of the pixel information by the following formula is calculated.
- fract (r) indicates a value obtained by subtracting the maximum integer not exceeding r from the real number r. Then, the texture coordinates (uP, vP) of the pixel information are overwritten with (uP ′, vP ′) and updated (step ST322).
- FIG. 14 shows the result of updating the pixel information of FIG. 10 in step ST322.
- the texture mapping unit 32 uses the updated texture coordinates to extract a pixel value from the texture image, and substitutes it for the pixel indicated by the position coordinate of the pixel information on the output image (step ST324).
- the texture coordinates of the pixel information do not necessarily represent the center positions of the pixels of the texture image, when obtaining pixel values, such as interpolating pixel values of a plurality of pixels in the vicinity of the texture coordinates. Method to retrieve the appropriate pixel value.
- FIG. 15 shows the correspondence between the position on the output image pointed to by the position coordinates of each pixel information in FIG. 14 and the position on the texture image pointed to by the texture coordinates.
- the rendering unit 3 that performs the above operation is mainly configured by a GPU (GraphicsGraphProcessing Unit), but most GPUs handle polygon information as a set of information in units of vertices. Cannot handle polygon unit information. In this case, this can be dealt with by changing the configuration of the polygon information generated by the polygon information generation unit 2 and giving each vertex information an area ID, but the number of variables increases. Therefore, the polygon information generation unit 2 may generate a variable obtained by combining the region ID and the texture coordinates, input them instead of the texture coordinates, and decompose the texture mapping unit 32.
- a GPU GraphicsGraphProcessing Unit
- the polygon information output from the polygon information generation unit 2 does not have an area ID
- FIG. 16 is obtained by replacing the polygon information of FIG. 6 by the above method.
- the rasterizing unit 31 calculates uP ′′, vP ′′ obtained by interpolating the texture coordinates of each vertex for each pixel in the same procedure as that for calculating uP, vP.
- FIG. 17 shows pixel information obtained as a result of processing the polygon information of FIG.
- step ST322 of the texture mapping unit 32 the region ID is restored by the following formula, and at the same time, the texture coordinates (uP ′, vP ′) are calculated, which is the same as the case where the polygon information has the region ID. Result can be obtained.
- Area ID floor (u / 100)
- uP ′ uR + fract (uP ′′) ⁇ wR
- vP ′ vR + fract (vP ′′) ⁇ hR
- floor (r) is the maximum integer value not exceeding the real number r.
- the output unit 4 sends the output image stored in the output image memory 7 to the image display device 8 after the texture mapping unit 32 finishes processing all the polygon information generated by the polygon information generation unit 2. Output. As a result, the image display device 8 displays the output image stored in the output image memory 7.
- the region information generation unit that generates a plurality of region information representing a partial region of the texture image, and the coordinates and vertices of the vertex on the output image are supported.
- a polygon information generating unit for generating polygon information composed of a plurality of vertex information composed of texture coordinates to be attached and an area ID for specifying one of the plurality of area information, and a polygon represented by the polygon information on the output image
- the texture coordinates of the pixel information are processed using a rasterizing unit that generates pixel information including position coordinates, texture coordinates, and area IDs, and area information specified by the area ID of the pixel information, for all the pixels inside.
- the pixel value is obtained from the texture image using the processed texture coordinates, and the pixel The texture mapping unit that determines the pixel value of the pixel on the output image indicated by the position coordinates of the report using the acquired pixel value and the output unit that outputs the output of the texture mapping unit to the image display device. Since a rectangular area having an arbitrary width and height in an image can be repeatedly mapped to a polygon, the calculation time required for scaling the width and height of the rectangular area to a power of 2 in advance can be reduced. In addition, since it is possible to prevent an increase in image size or deterioration in image quality due to enlargement / reduction, it is possible to use a texture image in which necessary image quality is expressed with a minimum size.
- the polygon information generation unit projects and converts polygon information having position coordinates defined in the three-dimensional space according to the position of the virtual viewpoint at the time of drawing. Since the vertex position is projected onto the two-dimensional coordinates on the output image and then output to the rasterization unit, accurate polygon information can be generated.
- the rasterizing unit performs the positional relationship between the position of each vertex constituting the polygon information and the pixel with respect to all the pixels inside the polygon represented by the polygon information on the output image. Accordingly, the texture coordinates obtained by interpolating the texture coordinates of each vertex are calculated and output as pixel information together with the pixel position coordinates and the area ID included in the polygon information, so that accurate pixel information can be generated.
- the texture mapping unit processes the texture coordinates of the pixel information output from the rasterizing unit so as to fit within the rectangle represented by the region information specified by the region ID of the pixel information.
- texture mapping can be performed easily and reliably.
- the polygon information generation unit does not directly hold the region ID constituting the polygon information as a constituent element of the polygon information, but the region from the pixel information input to the texture mapping unit.
- the region ID is held as a part of the vertex information. Therefore, the same result as when the region ID is given to the polygon information can be obtained.
- the texture mapping unit restores the index of the area ID of the polygon information from the input pixel information, and acquires the area information using the restored index. As a result, the same result as that obtained when the region ID is given to the polygon information can be obtained.
- the region information generation unit 1 generates region information indicating an arbitrary rectangular region in the texture image and stores it in the region memory 5, and the polygon information generation unit 2 sets each region to 0.0 ⁇ After generating vertex information having texture coordinates regarded as a space of u ⁇ 1.0 and 0.0 ⁇ v ⁇ 1.0 and polygon information composed of a region ID for specifying a region, the rendering unit 3 Polygon was drawn using polygon information, area information, and texture image.
- each texture image that is repeatedly mapped is prepared as one texture image, so the polygon model contains multiple polygon information and multiple texture images. Consists of Therefore, in the second embodiment, one texture image and a plurality of polygon information can be automatically generated from a plurality of texture images and a plurality of polygon information to obtain a drawing result similar to the result of drawing them, An example of input to the rendering unit 3, the area memory 5, and the texture memory 6 will be described.
- FIG. 18 is a main part configuration diagram of the texture mapping apparatus according to the second embodiment.
- a texture combining unit 9 having a plurality of polygon information and a plurality of texture images as inputs is added. It is a thing. That is, the texture combining unit 9 receives a plurality of texture images composed of images and unique IDs, and polygon information composed of texture IDs specifying the plurality of texture images and a plurality of vertex information as inputs.
- a texture image and a plurality of region information are generated from a plurality of texture images, and new polygon information including a region ID for specifying the region and a plurality of vertex information is generated. Since other configurations in the second embodiment are the same as those in the first embodiment, description of the other configurations is omitted.
- FIG. 19 is a flowchart showing the flow of processing in the texture combining unit 9.
- the input texture images are defined as pixel value arrays in a two-dimensional space of 0.0 ⁇ u ⁇ 1.0 and 0.0 ⁇ v ⁇ 1.0, respectively. In addition to a similar image, it has a unique ID for identifying a texture image mapped to a polygon.
- FIG. 20 is a diagram illustrating two texture images with different resolutions as examples of input texture images.
- the input polygon information represents a triangular polygon composed of three vertices A, B, and C as in the first embodiment.
- the polygon information includes a texture ID indicating a texture image to be mapped, vertex information xA, yA, uA, vA of vertex A, vertex information xB, yB, uB, vB of vertex B, vertex information xC, yC, uC of vertex C. , VC.
- FIG. 21 is a diagram illustrating two pieces of polygon information as an example of input polygon information.
- FIG. 22 is a diagram showing a result of drawing the polygon information of FIG. 21 by a general drawing apparatus using the texture of FIG.
- the texture combining unit 9 combines the given texture images, and defines a rectangular region including the combined images as 0.0 ⁇ u ⁇ 1.0 and 0.0 ⁇ v ⁇ 1.
- a new texture image set to 0 is generated and recorded in the texture memory 6 (step ST91).
- FIG. 23 is a diagram illustrating an example in which the two textures of FIG. 20 are combined in a side-by-side manner.
- the texture image can be combined by any method, for example, by combining the texture images so that the size of the rectangle including the combined image is minimized.
- the texture combining unit 9 records the rectangular area occupied by each image before combining and the ID of each image in the area memory 5 as area information in the combined image (step ST92).
- FIG. 24 shows area information generated from the texture image of FIG.
- the texture combining unit 9 replaces the texture ID of the polygon information as it is as the region ID and outputs it to the rendering unit 3 (step ST93).
- the vertex coordinates of the polygon are two-dimensional. However, for example, the coordinates may be three-dimensional or more, and may be projected and converted onto a two-dimensional space that defines the output image in step ST93.
- a plurality of texture images composed of an image and a unique ID, a texture ID for specifying a plurality of texture images, and a plurality of vertex information Is generated from a plurality of texture images, and a new polygon information including a region ID for specifying a region and a plurality of vertex information is generated.
- the rasterizing unit that generates pixel information consisting of position coordinates, texture coordinates, and region IDs for all the pixels inside the polygon represented by the new polygon information on the output image, and the region ID of the pixel information
- the texture coordinates of the pixel information are processed using the region information to be processed, and the processed text
- a texture that obtains a pixel value from a texture image generated by the texture combining unit using the stitcher coordinates and determines the pixel value of the pixel on the output image indicated by the position coordinates of the pixel information using the obtained pixel value.
- mapping unit and the output unit that outputs the output of the texture mapping unit to the image display device are provided, even in a system that prepares texture images that are repeatedly mapped as one texture image, the texture image A rectangular area having an arbitrary width and height can be repeatedly mapped to a polygon.
- the texture combining unit combines a plurality of texture images, and generates the area occupied by the texture images before combining in the texture image after combining as area information. Since this is done, polygon information can be generated easily and reliably.
- the texture mapping apparatus determines the color information of each pixel in the polygon using the texture image when drawing the polygon, and performs texture mapping in computer graphics. Suitable for
- 1 area information generation section 1 area information generation section, 2 polygon information generation section, 3 rendering section, 4 output section, 5 area memory, 6 texture memory, 7 output image memory, 8 image display device, 9 texture combination section, 31 rasterize section, 32 texture mapping Part, 311 texture coordinate interpolation part.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
Description
テクスチャマッピングを用いてポリゴンを描画する際には、出力画像内での各頂点の位置座標と、各頂点に対応付けられたテクスチャ画像内の座標(以降、テクスチャ座標という)を含むデータを用意する。そして、出力画像上で各頂点を結んだポリゴン内部にある各ピクセルに対して、頂点のテクスチャ座標を補間したテクスチャ座標を割り当てる。最後に、上記各ピクセルに割り当てられたテクスチャ座標を用いてテクスチャ画像からピクセル値を取り出し、出力画像へコピーすることで、ポリゴン内部をテクスチャ画像と同様の模様で塗りつぶした出力画像を得る。
しかし、上記結合したテクスチャ画像を使用する場合、テクスチャ画像が定義された範囲外のテクスチャ座標を指定すると、結合したテクスチャ画像全体が繰り返しマッピングされることとなり、結合前のテクスチャ画像、すなわち結合後のテクスチャ画像の一部分を繰り返してマッピングできない。
また、テクスチャ画像を縮小する場合は画質が劣化し、反対に、テクスチャ画像を伸張する場合は結合結果のテクスチャ画像サイズが大きくなり、それに伴ってデータサイズが大きくなってしまうという問題もあった。
実施の形態1.
図1は、本実施の形態によるテクスチャマッピング装置を示す構成図である。
図示の装置は、領域情報生成部1、ポリゴン情報生成部2、レンダリング部3、出力部4、領域メモリ5、テクスチャメモリ6、出力画像メモリ7から構成される。
まず、領域情報生成部1の動作を、図2~図4を用いて説明する。
領域情報生成部1は、テクスチャメモリ6に格納されたテクスチャ画像の中で任意の矩形領域を表す領域情報を複数生成し、それぞれに固有のIDを与えて領域メモリ5に格納する。
ここで、テクスチャ画像は色情報を表すピクセル値の2次元配列として、テクスチャメモリ6に記録されており、座標軸uおよびvで定義される2次元空間上で、解像度に関係なく0.0≦u≦1.0、0.0≦v≦1.0の範囲にあるものとする。すなわち、テクスチャ画像がM×Nピクセルからなる場合、各ピクセルのu軸およびv軸方向の長さは、1/Mおよび1/Nとなる。また、ピクセルの中心位置の座標を、ピクセルの位置とする。
領域情報は4つの数値(uR,vR,wR,hR)で表され、それぞれ当該領域内で最小のu座標とv座標、および当該領域のu軸方向とv軸方向の幅を表す。
領域情報の決定方法は任意であるが、例えば、プログラマが手動で各領域を指定するなどの方法で決定される。
図3は、テクスチャ画像内に領域情報を生成した結果の例を表し、図4は領域メモリ5に格納された、図3の領域情報である。
ポリゴン情報生成部2は、ポリゴンを構成する複数の頂点情報と、領域情報生成部1が生成した領域を特定する領域IDから構成されるポリゴン情報を生成し、レンダリング部3へ出力する。頂点情報は、少なくとも、出力画像上における位置を表す位置座標と、テクスチャ座標とから構成される。
また、ポリゴンを構成する頂点数は任意であるが、本実施の形態では、例として3角形ポリゴンについて説明する。
出力画像は、ピクセル値の2次元配列として、出力画像メモリ7上に記録されており、座標軸xおよびyで表される2次元空間上で、解像度に関係なく0.0≦x≦1.0、0.0≦y≦1.0の範囲にあるものとする。
頂点情報を構成するテクスチャ座標は、上記領域IDが指定する矩形領域の左下端を(u,v)=(0.0,0.0)とし,右上端を(u,v)=(1.0,1.0)とみなした座標として表現され、テクスチャ座標が0.0以下または1.0以上の値を取る場合、当該矩形領域内のテクスチャ画像がポリゴン内に繰り返しマッピングされることとなる。
例えば、(uA,vA)=(0.5,0.5)と指定した場合、頂点Aには上記領域IDで指定した領域の中心に当たる点がマッピングされる。
ポリゴン情報を構成する頂点座標の生成方法は任意であるが、例えば、プログラマがモデリングソフトなどを用いて構築した3次元ポリゴンモデルの各ポリゴンの頂点座標を、投影変換によって出力画像を定義する空間に投影変換することなどで生成される。
ポリゴン情報を構成するIDとテクスチャ座標の生成方法は任意であるが、例えば、プログラマが直接指定することなどによって生成される。
図8は、ラスタライズ部31における処理の流れを示すフローチャートである。
ラスタライズ部31は、ポリゴンの頂点のy座標を比較し、y座標が小さい頂点から順に頂点A,B,Cとなるよう頂点を並べ替える(ステップST311)。
図9は、図6のポリゴン情報にステップST311を適用した結果を表す。
さらに、出力画像のピクセルへの参照であるポインタPを用意し、ポインタPの参照先を、出力画像上でポリゴン内にあり、かつ、頂点Aに最も近いピクセルとする(ステップST312)。
次に、テクスチャ座標補間部311が、ポインタPの指すピクセルの位置座標に応じて、頂点A,B,Cの持つテクスチャ座標を補間したテクスチャ座標(uP,vP)を算出し(ステップST313)、算出されたテクスチャ座標と当該ポリゴンの領域ID、当該ピクセルの位置座標をピクセル情報として、テクスチャマッピング部32へ出力する(ステップST314)。
図10は、出力されたピクセル情報のいくつかの例を示している。
図11はテクスチャ座標補間部311の処理の流れを示すフローチャートである。
テクスチャ座標補間部311は、まず、ポインタPが指すピクセルの位置からx軸と平行に伸ばした直線と、ポリゴンの各辺との2つの交点を算出し、x座標が小さいほうを点D、大きいほうを点Eとする(ステップST3111)。
図12は、ポインタP、点D、点Eの位置関係を示す図である。
●点Dが辺AB上にある場合:
uD=uA×(yB-yD)/(yB-yA)+uB×(yD-yA)/(yB-yA)
vD=vA×(yB-yD)/(yB-yA)+vB×(yD-yA)/(yB-yA)
●点Dが辺BC上にある場合:
uD=uB×(yC-yD)/(yC-yB)+uC×(yD-yB)/(yC-yB)
vD=vB×(yC-yD)/(yC-yB)+vC×(yD-yB)/(yC-yB)
●点Dが辺AC上にある場合:
uD=uA×(yC-yD)/(yC-yA)+uC×(yD-yA)/(yC-yA)
vD=vA×(yC-yD)/(yC-yA)+vC×(yD-yA)/(yC-yA)
uP=uD×(xE-xP)/(xE-xD)+uE×(xP-xD)/(xE-xD)
vP=vD×(xE-xP)/(xE-xD)+vE×(xP-xD)/(xE-xD)
図13はテクスチャマッピング部32における処理の流れを示すフローチャートである。
テクスチャマッピング部32は、ラスタライズ部31から出力されたピクセル情報の領域IDが指す領域情報(uR,vR,wR,hR)を領域メモリ5から取得する(ステップST321)。次に、ピクセル情報のテクスチャ座標(uP,vP)を、次の式で加工した(uP’,vP’)を算出する。
uP’=uR+fract(uP)×wR
vP’=vR+fract(vP)×hR
ここで、fract(r)とは、実数rからrを超えない最大の整数を差し引いた値を示している。
そして、ピクセル情報のテクスチャ座標(uP,vP)を(uP’,vP’)で上書きして更新する(ステップST322)。
図14は、図10のピクセル情報をステップST322で更新した結果を表す。
図15は、図14の各ピクセル情報の位置座標が指す出力画像上の位置と、テクスチャ座標が指すテクスチャ画像上の位置の対応関係を示している。
uA”=領域ID×100+uA
vA”=vA
uB”=領域ID×100+uB
vB”=vB
uC”=領域ID×100+uC
vC”=vC
ただし、0≦uA、uB、uC<100.0とする。
図16は、図6のポリゴン情報を、上記方法にて置き換えたものである。
図17は、図16のポリゴン情報をラスタライズ部31で処理した結果のピクセル情報である。
領域ID=floor(u/100)
uP’=uR+fract(uP”)×wR
vP’=vR+fract(vP”)×hR
ここで、floor(r)とは、実数rを超えない最大の整数値である。
出力部4は、ポリゴン情報生成部2が生成した全てのポリゴン情報に対して、テクスチャマッピング部32が処理を終了した後に、出力画像メモリ7に格納されている出力画像を、画像表示装置8に出力する。これにより、画像表示装置8は、出力画像メモリ7に格納されている出力画像を表示する。
実施の形態1では、領域情報生成部1が、テクスチャ画像内の任意の矩形領域を示す領域情報を生成して領域メモリ5に格納し、ポリゴン情報生成部2が、各領域を0.0≦u≦1.0、0.0≦v≦1.0の空間とみなしたテクスチャ座標を持つ頂点情報と、領域を特定する領域IDで構成されたポリゴン情報を生成した後、レンダリング部3が、ポリゴン情報と領域情報、テクスチャ画像を使用してポリゴンを描画した。
そこで、実施の形態2では、複数のテクスチャ画像と複数のポリゴン情報から、それらを描画した結果と同様の描画結果を得ることができる一つのテクスチャ画像と複数のポリゴン情報を自動的に生成し、レンダリング部3、領域メモリ5、テクスチャメモリ6への入力とする例について説明する。
実施の形態2のテクスチャマッピング装置は、実施の形態1の領域情報生成部1とポリゴン情報生成部2の代わりに、複数のポリゴン情報と複数のテクスチャ画像を入力としたテクスチャ結合部9が追加されたものである。すなわち、テクスチャ結合部9は、画像と一意のIDから構成されるテクスチャ画像を複数個と、その複数個のテクスチャ画像を特定するテクスチャIDと複数の頂点情報とから構成されるポリゴン情報を入力とし、複数個のテクスチャ画像から一つのテクスチャ画像と複数の領域情報を生成すると共に、領域を特定する領域IDと複数の頂点情報からなる新たなポリゴン情報を生成する。
実施の形態2におけるその他の構成については、実施の形態1と同様であるため、その他の構成については説明を省略する。
実施の形態2では、テクスチャ結合部9以外の動作は実施の形態1と同様であるため、テクスチャ結合部9の動作についてのみ説明する。
以下、テクスチャ結合部9の動作を、図19~図24を用いて説明する。
図19は、テクスチャ結合部9における処理の流れを示すフローチャートである。
ここで、入力されるテクスチャ画像は、それぞれが0.0≦u≦1.0、0.0≦v≦1.0の2次元空間にピクセル値の配列として定義された、実施の形態1と同様の画像に加え、ポリゴンにマッピングされるテクスチャ画像を識別するための一意のIDを持つ。
図20は、入力されるテクスチャ画像の例として、解像度の異なる二つのテクスチャ画像を示す図である。
ポリゴン情報は、マッピングするテクスチャ画像を示すテクスチャIDと、頂点Aの頂点情報xA,yA,uA,vA、頂点Bの頂点情報xB,yB,uB,vB、頂点Cの頂点情報xC,yC,uC,vCから構成されるものとする。
図21は、入力するポリゴン情報の例として、2つのポリゴン情報を表す図である。
図22は、図20のテクスチャを用い、図21のポリゴン情報を一般的な描画装置で描画した結果を示す図である。
図23は、図20の2つのテクスチャを横に並べる形で結合した例を示す図である。
テクスチャ画像の結合方法は任意であるが、例えば、上記結合後の画像を含む矩形のサイズが最小になるように、各テクスチャ画像の配置を最適化するなどの方法で結合される。
図24は、図23のテクスチャ画像から生成された領域情報を示している。
なお、ポリゴンの頂点座標は2次元としているが、例えば、3次元以上の座標とし、ステップST93で出力画像を定義する2次元空間上に投影変換して出力するなどとしてもよい。
Claims (8)
- テクスチャ画像の一部の領域を表す領域情報を複数生成する領域情報生成部と、
出力画像上における頂点の座標および頂点に対応付けられるテクスチャ座標からなる頂点情報を複数個と、前記複数の領域情報の一つを特定する領域IDとから構成されるポリゴン情報を生成するポリゴン情報生成部と、
前記出力画像上で前記ポリゴン情報が表すポリゴン内部にある全ピクセルに対し、位置座標とテクスチャ座標、領域IDからなるピクセル情報を生成するラスタライズ部と、
前記ピクセル情報の領域IDで特定される領域情報を用いて、当該ピクセル情報のテクスチャ座標を加工すると共に、当該加工されたテクスチャ座標を用いて前記テクスチャ画像からピクセル値を取得し、かつ、前記ピクセル情報の位置座標が指す出力画像上のピクセルのピクセル値を、前記取得したピクセル値を用いて決定するテクスチャマッピング部と、
前記テクスチャマッピング部の出力を画像表示装置に出力する出力部とを備えたことを特徴とするテクスチャマッピング装置。 - ポリゴン情報生成部は、3次元空間に定義された位置座標を持つポリゴン情報を、描画時の仮想視点の位置に応じて投影変換することで、頂点位置を出力画像上の2次元座標に投影した後に、ラスタライズ部に出力することを特徴とする請求項1記載のテクスチャマッピング装置。
- ラスタライズ部は、出力画像上でポリゴン情報が表すポリゴン内部にある全ピクセルに対して、前記ポリゴン情報を構成する各頂点の位置とピクセルの位置関係に応じ、各頂点のテクスチャ座標を補間したテクスチャ座標を算出し、前記ピクセルの位置座標と前記ポリゴン情報が有する領域IDと共にピクセル情報として出力することを特徴とする請求項1記載のテクスチャマッピング装置。
- テクスチャマッピング部は、ラスタライズ部が出力したピクセル情報のテクスチャ座標を、前記ピクセル情報の領域IDに特定される領域情報が表す矩形内に収まるよう加工し、当該加工したテクスチャ座標を用いてテクスチャ画像からピクセル値を取得することを特徴とする請求項1記載のテクスチャマッピング装置。
- ポリゴン情報生成部は、ポリゴン情報を構成する領域IDをポリゴン情報の構成要素として直接保持せず、テクスチャマッピング部に入力されたピクセル情報から当該領域IDを復元できるよう頂点情報を加工することで、前記領域IDを頂点情報の一部として保持させることを特徴とする請求項1記載のテクスチャマッピング装置。
- テクスチャマッピング部は、入力されたピクセル情報から、ポリゴン情報の領域IDのインデックスを復元し、復元したインデックスを用いて領域情報を取得することを特徴とする請求項5記載のテクスチャマッピング装置。
- 画像と一意のIDから構成されるテクスチャ画像を複数個と、当該複数個のテクスチャ画像を特定するテクスチャIDと複数の頂点情報とから構成されるポリゴン情報を入力とし、前記複数個のテクスチャ画像から一つのテクスチャ画像と複数の領域情報を生成すると共に、領域を特定する領域IDと複数の頂点情報からなる新たなポリゴン情報を生成するテクスチャ結合部と、
出力画像上で前記新たなポリゴン情報が表すポリゴン内部にある全ピクセルに対し、位置座標とテクスチャ座標、領域IDからなるピクセル情報を生成するラスタライズ部と、
前記ピクセル情報の領域IDで特定される領域情報を用いて、当該ピクセル情報のテクスチャ座標を加工すると共に、当該加工されたテクスチャ座標を用いて前記テクスチャ結合部で生成されたテクスチャ画像からピクセル値を取得し、かつ、前記ピクセル情報の位置座標が指す出力画像上のピクセルのピクセル値を、前記取得したピクセル値を用いて決定するテクスチャマッピング部と、
前記テクスチャマッピング部の出力を画像表示装置に出力する出力部とを備えたことを特徴とするテクスチャマッピング装置。 - テクスチャ結合部は、複数のテクスチャ画像を結合し、結合前の各テクスチャ画像が結合後のテクスチャ画像内で占める領域を、それぞれ領域情報として生成することを特徴とする請求項7記載のテクスチャマッピング装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013508621A JP5657099B2 (ja) | 2011-04-04 | 2011-04-04 | テクスチャマッピング装置 |
DE112011105126.3T DE112011105126T5 (de) | 2011-04-04 | 2011-04-04 | Texturkartierungsvorrichtung |
CN201180068063.5A CN103392190B (zh) | 2011-04-04 | 2011-04-04 | 纹理映射装置 |
US13/978,659 US9269181B2 (en) | 2011-04-04 | 2011-04-04 | Texture mapping device |
PCT/JP2011/002001 WO2012137243A1 (ja) | 2011-04-04 | 2011-04-04 | テクスチャマッピング装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/002001 WO2012137243A1 (ja) | 2011-04-04 | 2011-04-04 | テクスチャマッピング装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012137243A1 true WO2012137243A1 (ja) | 2012-10-11 |
Family
ID=46968693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2011/002001 WO2012137243A1 (ja) | 2011-04-04 | 2011-04-04 | テクスチャマッピング装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9269181B2 (ja) |
JP (1) | JP5657099B2 (ja) |
CN (1) | CN103392190B (ja) |
DE (1) | DE112011105126T5 (ja) |
WO (1) | WO2012137243A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016528972A (ja) * | 2013-07-23 | 2016-09-23 | シロナ・デンタル・システムズ・ゲゼルシャフト・ミット・ベシュレンクテル・ハフツング | 3d輪郭データ収集及びう蝕検出のシステム、方法、並びにコンピュータプログラム |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104880893A (zh) * | 2015-06-23 | 2015-09-02 | 上海恒润数字科技有限公司 | 环幕影院放映中修正图像畸变的方法 |
DE112016006387T5 (de) * | 2016-03-15 | 2018-10-18 | Mitsubishi Electric Corporation | Texturabbildungsvorrichtung und texturabbildungsprogramm |
JP7182863B2 (ja) * | 2017-11-02 | 2022-12-05 | キヤノン株式会社 | 情報生成装置、情報処理装置、制御方法、プログラム、及びデータ構造 |
GB2569546B (en) * | 2017-12-19 | 2020-10-14 | Sony Interactive Entertainment Inc | Determining pixel values using reference images |
CN109739403B (zh) * | 2018-12-28 | 2020-08-07 | 北京字节跳动网络技术有限公司 | 用于处理信息的方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11265459A (ja) * | 1998-03-17 | 1999-09-28 | Sony Corp | 記憶回路制御装置およびグラフィック演算装置 |
JP2001236523A (ja) * | 1999-12-16 | 2001-08-31 | Sega Corp | 画像生成方法及びこれを用いた画像生成装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08110952A (ja) | 1994-10-07 | 1996-04-30 | Yamaha Corp | テクスチャマッピング装置 |
WO2000010372A2 (en) * | 1998-08-20 | 2000-03-02 | Apple Computer, Inc. | System, apparatus and method for spatially sorting image data in a three-dimensional graphics pipeline |
US7151545B2 (en) | 2003-08-06 | 2006-12-19 | Landmark Graphics Corporation | System and method for applying accurate three-dimensional volume textures to arbitrary triangulated surfaces |
JP2009099098A (ja) | 2007-10-19 | 2009-05-07 | Toshiba Corp | コンピュータグラフィックス描画装置及び描画方法 |
-
2011
- 2011-04-04 US US13/978,659 patent/US9269181B2/en not_active Expired - Fee Related
- 2011-04-04 JP JP2013508621A patent/JP5657099B2/ja active Active
- 2011-04-04 DE DE112011105126.3T patent/DE112011105126T5/de active Pending
- 2011-04-04 WO PCT/JP2011/002001 patent/WO2012137243A1/ja active Application Filing
- 2011-04-04 CN CN201180068063.5A patent/CN103392190B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11265459A (ja) * | 1998-03-17 | 1999-09-28 | Sony Corp | 記憶回路制御装置およびグラフィック演算装置 |
JP2001236523A (ja) * | 1999-12-16 | 2001-08-31 | Sega Corp | 画像生成方法及びこれを用いた画像生成装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016528972A (ja) * | 2013-07-23 | 2016-09-23 | シロナ・デンタル・システムズ・ゲゼルシャフト・ミット・ベシュレンクテル・ハフツング | 3d輪郭データ収集及びう蝕検出のシステム、方法、並びにコンピュータプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP5657099B2 (ja) | 2015-01-21 |
DE112011105126T5 (de) | 2014-01-09 |
US9269181B2 (en) | 2016-02-23 |
JPWO2012137243A1 (ja) | 2014-07-28 |
US20130278598A1 (en) | 2013-10-24 |
CN103392190B (zh) | 2016-01-20 |
CN103392190A (zh) | 2013-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10134175B2 (en) | Gradient adjustment for texture mapping to non-orthonormal grid | |
KR102275712B1 (ko) | 렌더링 방법, 렌더링 장치 및 전자 장치 | |
US8704830B2 (en) | System and method for path rendering with multiple stencil samples per color sample | |
JP5657099B2 (ja) | テクスチャマッピング装置 | |
JP7096661B2 (ja) | キューブマップをテクスチャリングするためのlodを決定する方法、装置、コンピュータプログラム及び記録媒体 | |
JP6235123B2 (ja) | グラフィックス・パイプラインを用いた2次元曲線のテッセレーション | |
WO2005101320A1 (ja) | 画像生成装置および画像生成方法 | |
US11238639B2 (en) | Gradient adjustment for texture mapping to non-orthonormal grid | |
JP2006244426A (ja) | テクスチャ処理装置、描画処理装置、およびテクスチャ処理方法 | |
JPH09330423A (ja) | 三次元形状データ変換装置 | |
KR101769013B1 (ko) | 공간타일 기반의 3차원 객체 모델 병합을 통한 3차원 모델 가시화 방법 | |
US8179399B2 (en) | Rasterizing method | |
JP2018073388A (ja) | テクスチャ処理方法及びその装置 | |
US8570321B2 (en) | Rasterization engine and three-dimensional graphics system for rasterizing in order adapted to characteristics of polygon | |
US20100302259A1 (en) | Drawing data processing method, graphics drawing system and graphics drawing data generation program | |
JP3979162B2 (ja) | 画像処理装置およびその方法 | |
US8576219B2 (en) | Linear interpolation of triangles using digital differential analysis | |
JP3872056B2 (ja) | 描画方法 | |
JP3312560B2 (ja) | テクスチャマッピング装置 | |
KR100742155B1 (ko) | 스캔라인 형성 방법 및 장치 | |
JP3071495B2 (ja) | 物体モデル編集装置 | |
JP5388707B2 (ja) | 描画処理装置及び描画処理方法 | |
JP2005056385A (ja) | 曲面細分割装置 | |
JPH09231381A (ja) | 描画装置 | |
JP2010033187A (ja) | 画像処理装置、画像処理方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11863195 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2013508621 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13978659 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1120111051263 Country of ref document: DE Ref document number: 112011105126 Country of ref document: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11863195 Country of ref document: EP Kind code of ref document: A1 |