WO2012137243A1 - テクスチャマッピング装置 - Google Patents

テクスチャマッピング装置 Download PDF

Info

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
Application number
PCT/JP2011/002001
Other languages
English (en)
French (fr)
Inventor
智史 櫻井
Original Assignee
三菱電機株式会社
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 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to JP2013508621A priority Critical patent/JP5657099B2/ja
Priority to DE112011105126.3T priority patent/DE112011105126T5/de
Priority to CN201180068063.5A priority patent/CN103392190B/zh
Priority to US13/978,659 priority patent/US9269181B2/en
Priority to PCT/JP2011/002001 priority patent/WO2012137243A1/ja
Publication of WO2012137243A1 publication Critical patent/WO2012137243A1/ja

Links

Images

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 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

 領域情報生成部1は、テクスチャ画像の一部の領域を表す領域情報を複数生成する。ポリゴン情報生成部2は、複数個の頂点情報と領域IDとからなるポリゴン情報を生成する。レンダリング部3は、ポリゴンの頂点のテクスチャ座標を出力画像上で補間してポリゴン内部の各ピクセルに割り当て、さらに、ポリゴン情報に付与されている領域IDを参照して領域情報を取得し、出力画像の各ピクセルに割り当てたテクスチャ座標をその領域内に収まるように変換する。

Description

テクスチャマッピング装置
 この発明は、グラフィックスシステムなどにおいて、ポリゴンを描画する際、テクスチャ画像を用いてポリゴン内部にある各ピクセルの色情報を決定するテクスチャマッピング装置に関するものである。
 コンピュータグラフィックスにおいて、主に3次元モデルを表現するために使用されるポリゴンの表現力を向上するため、ポリゴン内部に2次元画像を割り付けて描画するテクスチャマッピングが知られている。
 テクスチャマッピングを用いてポリゴンを描画する際には、出力画像内での各頂点の位置座標と、各頂点に対応付けられたテクスチャ画像内の座標(以降、テクスチャ座標という)を含むデータを用意する。そして、出力画像上で各頂点を結んだポリゴン内部にある各ピクセルに対して、頂点のテクスチャ座標を補間したテクスチャ座標を割り当てる。最後に、上記各ピクセルに割り当てられたテクスチャ座標を用いてテクスチャ画像からピクセル値を取り出し、出力画像へコピーすることで、ポリゴン内部をテクスチャ画像と同様の模様で塗りつぶした出力画像を得る。
 テクスチャマッピングにおいては、テクスチャ画像が定義された範囲を超えるテクスチャ座標を頂点に割り当てることで、テクスチャ画像をポリゴン内で繰り返してマッピングできる。そのため、ポリゴン内に同じパターンの画像を繰り返して描画するとき、パターンを繰り返したテクスチャ画像を用意する必要が無く、パターン一つ分のテクスチャ画像でよいためデータ量を節約できることが知られている。
 一方で、複数のポリゴンに対してそれぞれ異なるテクスチャ画像をマッピングする際には、複数のテクスチャ画像を用意して描画するよりも、複数のテクスチャ画像を結合して一つのテクスチャ画像とし、結合後のテクスチャ画像に対するテクスチャ座標を各ポリゴンの頂点に割り当てて描画した方が高速に描画できることが知られている。
 しかし、上記結合したテクスチャ画像を使用する場合、テクスチャ画像が定義された範囲外のテクスチャ座標を指定すると、結合したテクスチャ画像全体が繰り返しマッピングされることとなり、結合前のテクスチャ画像、すなわち結合後のテクスチャ画像の一部分を繰り返してマッピングできない。
 このような問題に対し、例えば特許文献1に記載されたような従来のテクスチャマッピング装置では、出力画像上でポリゴン内部にある各ピクセルに割り当てるテクスチャ座標を算出した際、さらにテクスチャ座標の上位ビットを0にセットし、オフセット値を加算する処理を追加することで、テクスチャ画像の中から一部の矩形領域を選択し、当該領域のみをポリゴンに繰り返してマッピングするようにしていた。
特開平8-110952号公報
 しかしながら、上記特許文献1に記載されたような従来装置では、テクスチャ座標の下位ビットでテクスチャ座標が繰り返されるため、矩形領域の高さと幅は2のべき乗に制限される。そのため、複数のテクスチャ画像を結合し、当該手法によって結合後のテクスチャ画像の一部のみをポリゴンに繰り返してマッピングする場合、予め結合前のテクスチャ画像を伸縮し、高さと幅を2のべき乗にする手間が必要となる問題があった。
 また、テクスチャ画像を縮小する場合は画質が劣化し、反対に、テクスチャ画像を伸張する場合は結合結果のテクスチャ画像サイズが大きくなり、それに伴ってデータサイズが大きくなってしまうという問題もあった。
 この発明は、かかる問題を解決するためになされたもので、矩形領域の幅と高さを予め2のべき乗に拡大縮小しておくための計算時間を短縮することができ、かつ、必要な画質を最小限のサイズで表現したテクスチャ画像を利用できるテクスチャマッピング装置を得ることを目的とする。
 この発明に係るテクスチャマッピング装置は、テクスチャ画像の一部の領域を表す領域情報を複数生成する領域情報生成部と、出力画像上における頂点の座標および頂点に対応付けられるテクスチャ座標からなる頂点情報を複数個と、複数の領域情報の一つを特定する領域IDとから構成されるポリゴン情報を生成するポリゴン情報生成部と、出力画像上でポリゴン情報が表すポリゴン内部にある全ピクセルに対し、位置座標とテクスチャ座標、領域IDからなるピクセル情報を生成するラスタライズ部と、ピクセル情報の領域IDで特定される領域情報を用いて、ピクセル情報のテクスチャ座標を加工すると共に、加工されたテクスチャ座標を用いてテクスチャ画像からピクセル値を取得し、かつ、ピクセル情報の位置座標が指す出力画像上のピクセルのピクセル値を、取得したピクセル値を用いて決定するテクスチャマッピング部と、テクスチャマッピング部の出力を画像表示装置に出力する出力部とを備えたものである。
 この発明に係るテクスチャマッピング装置は、テクスチャ画像内の任意の領域を領域情報として複数生成しておき、ピクセル情報の領域IDで特定される領域情報を用いて、ピクセル情報のテクスチャ座標を加工すると共に、加工されたテクスチャ座標を用いてテクスチャ画像からピクセル値を取得し、かつ、ピクセル情報の位置座標が指す出力画像上のピクセルのピクセル値を、取得したピクセル値を用いて決定するようにしたので、テクスチャ画像の中で任意の幅と高さを持つ矩形領域を、ポリゴンに繰り返してマッピングできるため、矩形領域の幅と高さを予め2のべき乗に拡大縮小しておくための計算時間を短縮することができ、かつ、拡大縮小に伴う画像サイズの増大または画質劣化を防ぐことができるため、必要な画質を最小限のサイズで表現したテクスチャ画像を利用できる。
この発明の実施の形態1によるテクスチャマッピング装置を示す構成図である。 この発明の実施の形態1のテクスチャマッピング装置におけるテクスチャ画像を定義する座標系と、テクスチャ画像の例を示す説明図である。 この発明の実施の形態1のテクスチャマッピング装置における領域情報の例を、テクスチャ画像を定義する空間上に示す説明図である。 この発明の実施の形態1のテクスチャマッピング装置における図3の領域情報のデータ例を示す説明図である。 この発明の実施の形態1のテクスチャマッピング装置における出力画像を定義する座標系と、初期状態の出力画像の例を示す説明図である。 この発明の実施の形態1のテクスチャマッピング装置におけるポリゴン情報生成部が生成するポリゴン情報の例を示す説明図である。 この発明の実施の形態1のテクスチャマッピング装置における図2のテクスチャ画像と図4の領域情報とを用いて図6のポリゴン情報を描画した結果得られる出力画像を示す説明図である。 この発明の実施の形態1のテクスチャマッピング装置におけるラスタライズ部の処理内容を示すフローチャートである。 この発明の実施の形態1のテクスチャマッピング装置における図6のポリゴン情報をラスタライズ部が並べ替えた結果を示す説明図である。 この発明の実施の形態1のテクスチャマッピング装置におけるラスタライズ部から出力されるピクセル情報の例を示す説明図である。 この発明の実施の形態1のテクスチャマッピング装置におけるテクスチャ座標補間部の処理内容を示すフローチャートである。 この発明の実施の形態1のテクスチャマッピング装置におけるテクスチャ座標補間部で使用される点とピクセルの位置関係を示す説明図である。 この発明の実施の形態1のテクスチャマッピング装置におけるテクスチャマッピング部の処理内容を示すフローチャートである。 この発明の実施の形態1のテクスチャマッピング装置における図10のピクセル情報をテクスチャマッピング部が加工した結果を示す説明図である。 この発明の実施の形態1のテクスチャマッピング装置における図14のピクセル情報の位置座標とテクスチャ座標の関係を示す説明図である。 この発明の実施の形態1のテクスチャマッピング装置におけるポリゴン情報生成部が生成するポリゴン情報の他の例を示す説明図である。 この発明の実施の形態1のテクスチャマッピング装置における図16のポリゴン情報をラスタライズ部に入力した結果出力されるピクセル情報の例を示す説明図である。 この発明の実施の形態2のテクスチャマッピング装置を示す要部構成図である。 この発明の実施の形態2のテクスチャマッピング装置におけるテクスチャ結合部の処理内容を示すフローチャートである。 この発明の実施の形態2のテクスチャマッピング装置におけるテクスチャ結合部に入力される複数のテクスチャ画像の例を示す説明図である。 この発明の実施の形態2のテクスチャマッピング装置におけるテクスチャ結合部に入力される複数のポリゴン情報の例を示す説明図である。 この発明の実施の形態2のテクスチャマッピング装置における図20のテクスチャ画像を用いて図21のポリゴン情報を描画した結果得られる出力画像を示す説明図である。 この発明の実施の形態2のテクスチャマッピング装置における図20の複数のテクスチャをテクスチャ結合部が結合した結果のテクスチャ画像の例を示す説明図である。 この発明の実施の形態2のテクスチャマッピング装置における図20のテクスチャ画像を結合した際に、テクスチャ結合部が生成する領域情報を示す説明図である。
 以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態1.
 図1は、本実施の形態によるテクスチャマッピング装置を示す構成図である。
 図示の装置は、領域情報生成部1、ポリゴン情報生成部2、レンダリング部3、出力部4、領域メモリ5、テクスチャメモリ6、出力画像メモリ7から構成される。
 領域情報生成部1は、テクスチャ画像の中で任意の矩形領域を表す領域情報を生成し、各領域情報にIDを割り当てて領域メモリ5に格納する。ポリゴン情報生成部2は、少なくとも、複数の頂点情報と上記領域情報の一つを特定する領域IDとから構成されるポリゴン情報を生成する。レンダリング部3は、ポリゴン情報生成部2で生成されたポリゴン情報の領域IDで特定される矩形領域内にあるテクスチャ画像の一部を、出力画像上でポリゴン内部に繰り返してマッピングするように、当該ポリゴン内部の各ピクセルの色を決定することで、出力画像メモリ7上に出力画像を生成する。出力部4は、出力画像メモリ7上に生成された出力画像を、画像表示装置8に出力する。また、領域メモリ5は、領域情報を格納するためのメモリであり、テクスチャメモリ6は、テクスチャ画像を格納するためのメモリである。また、出力画像メモリ7は、レンダリング部3で生成された出力画像を格納するためのメモリである。さらに、画像表示装置8は、出力画像を表示するための表示装置である。
 次に、実施の形態1のテクスチャマッピング装置の各部の動作を説明する。
 まず、領域情報生成部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となる。また、ピクセルの中心位置の座標を、ピクセルの位置とする。
 図2はテクスチャ画像を定義する空間とテクスチャ画像の例を示す図である。
 領域情報は4つの数値(uR,vR,wR,hR)で表され、それぞれ当該領域内で最小のu座標とv座標、および当該領域のu軸方向とv軸方向の幅を表す。
 領域情報の決定方法は任意であるが、例えば、プログラマが手動で各領域を指定するなどの方法で決定される。
 図3は、テクスチャ画像内に領域情報を生成した結果の例を表し、図4は領域メモリ5に格納された、図3の領域情報である。
 次に、ポリゴン情報生成部2の動作を、図5~図7を用いて説明する。
 ポリゴン情報生成部2は、ポリゴンを構成する複数の頂点情報と、領域情報生成部1が生成した領域を特定する領域IDから構成されるポリゴン情報を生成し、レンダリング部3へ出力する。頂点情報は、少なくとも、出力画像上における位置を表す位置座標と、テクスチャ座標とから構成される。
 また、ポリゴンを構成する頂点数は任意であるが、本実施の形態では、例として3角形ポリゴンについて説明する。
 ここで、ポリゴン情報を構成する頂点をそれぞれ頂点A,B,Cとし、頂点Aの位置座標とテクスチャ座標をxA,yA,uA,vA、頂点Bの位置座標とテクスチャ座標をxB,yB,uB,vB、頂点Cの位置座標とテクスチャ座標をxC,yC,uC,vCとする。
 出力画像は、ピクセル値の2次元配列として、出力画像メモリ7上に記録されており、座標軸xおよびyで表される2次元空間上で、解像度に関係なく0.0≦x≦1.0、0.0≦y≦1.0の範囲にあるものとする。
 図5は、出力画像の座標系と白色で初期化した出力画像の例を示す。
 頂点情報を構成するテクスチャ座標は、上記領域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で指定した領域の中心に当たる点がマッピングされる。
 図6は、ポリゴン情報の例を示しており、図7は、図2のテクスチャ画像を用いて図6を描画した結果となるべき出力画像を示している。
 ポリゴン情報を構成する頂点座標の生成方法は任意であるが、例えば、プログラマがモデリングソフトなどを用いて構築した3次元ポリゴンモデルの各ポリゴンの頂点座標を、投影変換によって出力画像を定義する空間に投影変換することなどで生成される。
 ポリゴン情報を構成するIDとテクスチャ座標の生成方法は任意であるが、例えば、プログラマが直接指定することなどによって生成される。
 次に、レンダリング部3を構成するラスタライズ部31の動作を、図8~図10を用いて説明する。
 図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は、出力されたピクセル情報のいくつかの例を示している。
 ピクセル情報を出力後、ポインタPの参照先を、x軸の正の方向に一つ隣のピクセルとする(ステップST315)。このとき、ポインタPの指すピクセルがポリゴン内部にあればステップST313に戻る(ステップST316)。逆に、ポインタPの指すピクセルがポリゴン外にある場合、ポインタPの参照先を、y軸の正の方向に一つ隣にあるピクセルとする(ステップST317)。ここで、ポインタPの指すピクセルのy座標が、頂点Cのy座標より大きい場合、処理を終了し、そうでない場合は続行する(ステップST318)。最後に、ポインタPが指すピクセルと同じy座標にあり、かつポリゴンの内部にあるピクセルの中で最もx座標の小さいピクセルに、ポインタPの参照先を変更してステップST313へ戻る(ステップST319)。
 ラスタライズ部31を構成するテクスチャ座標補間部311の動作を、図11と図12を用いて説明する。
 図11はテクスチャ座標補間部311の処理の流れを示すフローチャートである。
 テクスチャ座標補間部311は、まず、ポインタPが指すピクセルの位置からx軸と平行に伸ばした直線と、ポリゴンの各辺との2つの交点を算出し、x座標が小さいほうを点D、大きいほうを点Eとする(ステップST3111)。
 図12は、ポインタP、点D、点Eの位置関係を示す図である。
 次に、点Dの位置座標を(xD,yD)とし、頂点A,B,Cのテクスチャ座標を点Dの位置で補間したテクスチャ座標(uD,vD)を次の式で算出する(ステップST3112)。
●点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)
 同様に、点Eの位置座標を(xE,yE)とし、頂点A,B,Cのテクスチャ座標を点Eの位置で補間した(uE,vE)を、(uD,vD)と同じ方法で算出する。最後に、ポインタPの指すピクセルの位置座標を(xP,yP)とし、ポインタPの指すピクセルの位置で、(uD,vD)と(uE,vE)を補間したテクスチャ座標(uP,vP)を次の式で算出し、ラスタライズ部31に返す(ST3113)。
uP=uD×(xE-xP)/(xE-xD)+uE×(xP-xD)/(xE-xD)
vP=vD×(xE-xP)/(xE-xD)+vE×(xP-xD)/(xE-xD)
 レンダリング部3を構成するテクスチャマッピング部32の動作を、図13~図15を用いて説明する。
 図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で更新した結果を表す。
 テクスチャ座標の更新後、テクスチャマッピング部32は、更新されたテクスチャ座標を用いてテクスチャ画像からピクセル値を取り出し、出力画像上で同ピクセル情報の位置座標が指すピクセルに代入する(ステップST324)。ただし、ピクセル情報のテクスチャ座標は、必ずしもテクスチャ画像のピクセルの中心位置を表していないため、ピクセル値を取得する際には、当該テクスチャ座標の近傍にある複数のピクセルのピクセル値を補間するなどの方法で、適切なピクセル値を取り出す。
 また、出力画像のピクセル値を決定する際に、テクスチャ画像から取得したピクセル値をそのまま出力画像のピクセルに代入する代わりに、ポリゴンにライティング処理を施して色情報を付加しておき、テクスチャ画像から取得したピクセル値とブレンドして出力するなど、テクスチャ画像から取得したピクセル値以外の色情報をポリゴンに与えて使用しても良い。
 図15は、図14の各ピクセル情報の位置座標が指す出力画像上の位置と、テクスチャ座標が指すテクスチャ画像上の位置の対応関係を示している。
 以上の動作をするレンダリング部3は、主にGPU(Graphics Processing Unit)によって構成されるが、GPUの多くは、ポリゴン情報を頂点単位の情報の集合として扱うため、ポリゴン情報の領域IDのように、ポリゴン単位の情報を扱うことができない。この場合、ポリゴン情報生成部2が生成するポリゴン情報の構成を変更し、各頂点情報に領域IDを持たせることで対処できるが、変数数が多くなる。そこで、ポリゴン情報生成部2が領域IDとテクスチャ座標を結合した変数を生成してテクスチャ座標の代わりに入力し、テクスチャマッピング部32にて分解する構成としてもよい。
 具体的には、例えば、ポリゴン情報生成部2にて出力するポリゴン情報に領域IDを持たせず、頂点情報のテクスチャ座標(uA,vA)(uB,vB)(uC,vC)を、次式で表される(uA”,vA”)(uB”,vB”)(uC”,vC”)に置き換える。
  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のポリゴン情報を、上記方法にて置き換えたものである。
 さらに、ラスタライズ部31では、uP,vPを算出するときと同様の手順で、各頂点のテクスチャ座標をピクセルごとに補間したuP”,vP”を算出する。
 図17は、図16のポリゴン情報をラスタライズ部31で処理した結果のピクセル情報である。
 その後、テクスチャマッピング部32のステップST322にて、次の式で領域IDを復元すると同時に、テクスチャ座標(uP’,vP’)を算出することで、ポリゴン情報に領域IDを持たせた場合と同様の結果を得ることができる。
 領域ID=floor(u/100)
  uP’=uR+fract(uP”)×wR
  vP’=vR+fract(vP”)×hR
 ここで、floor(r)とは、実数rを超えない最大の整数値である。
 最後に出力部4の動作について説明する。
 出力部4は、ポリゴン情報生成部2が生成した全てのポリゴン情報に対して、テクスチャマッピング部32が処理を終了した後に、出力画像メモリ7に格納されている出力画像を、画像表示装置8に出力する。これにより、画像表示装置8は、出力画像メモリ7に格納されている出力画像を表示する。
 以上説明したように、実施の形態1のテクスチャマッピング装置によれば、テクスチャ画像の一部の領域を表す領域情報を複数生成する領域情報生成部と、出力画像上における頂点の座標および頂点に対応付けられるテクスチャ座標からなる頂点情報を複数個と、複数の領域情報の一つを特定する領域IDとから構成されるポリゴン情報を生成するポリゴン情報生成部と、出力画像上でポリゴン情報が表すポリゴン内部にある全ピクセルに対し、位置座標とテクスチャ座標、領域IDからなるピクセル情報を生成するラスタライズ部と、ピクセル情報の領域IDで特定される領域情報を用いて、ピクセル情報のテクスチャ座標を加工すると共に、加工されたテクスチャ座標を用いてテクスチャ画像からピクセル値を取得し、かつ、ピクセル情報の位置座標が指す出力画像上のピクセルのピクセル値を、取得したピクセル値を用いて決定するテクスチャマッピング部と、テクスチャマッピング部の出力を画像表示装置に出力する出力部を備えたので、テクスチャ画像の中で任意の幅と高さを持つ矩形領域をポリゴンに繰り返してマッピングできるため、矩形領域の幅と高さを予め2のべき乗に拡大縮小しておくための計算時間を短縮することができ、かつ、拡大縮小に伴う画像サイズの増大または画質劣化を防ぐことができるため、必要な画質を最小限のサイズで表現したテクスチャ画像を利用できる。
 また、実施の形態1のテクスチャマッピング装置によれば、ポリゴン情報生成部は、3次元空間に定義された位置座標を持つポリゴン情報を、描画時の仮想視点の位置に応じて投影変換することで、頂点位置を出力画像上の2次元座標に投影した後に、ラスタライズ部に出力するようにしたので、精確なポリゴン情報を生成することができる。
 また、実施の形態1のテクスチャマッピング装置によれば、ラスタライズ部は、出力画像上でポリゴン情報が表すポリゴン内部にある全ピクセルに対して、ポリゴン情報を構成する各頂点の位置とピクセルの位置関係に応じ、各頂点のテクスチャ座標を補間したテクスチャ座標を算出し、ピクセルの位置座標とポリゴン情報が有する領域IDと共にピクセル情報として出力するようにしたので、精確なピクセル情報を生成することができる。
 また、実施の形態1のテクスチャマッピング装置によれば、テクスチャマッピング部は、ラスタライズ部が出力したピクセル情報のテクスチャ座標を、ピクセル情報の領域IDに特定される領域情報が表す矩形内に収まるよう加工し、加工したテクスチャ座標を用いてテクスチャ画像からピクセル値を取得するようにしたので、容易かつ確実にテクスチャマッピングを行うことができる。
 また、実施の形態1のテクスチャマッピング装置によれば、ポリゴン情報生成部は、ポリゴン情報を構成する領域IDをポリゴン情報の構成要素として直接保持せず、テクスチャマッピング部に入力されたピクセル情報から領域IDを復元できるよう頂点情報を加工することで、領域IDを頂点情報の一部として保持させるようにしたので、ポリゴン情報に領域IDを持たせた場合と同様の結果を得ることができる。
 また、実施の形態1のテクスチャマッピング装置によれば、テクスチャマッピング部は、入力されたピクセル情報から、ポリゴン情報の領域IDのインデックスを復元し、復元したインデックスを用いて領域情報を取得するようにしたので、ポリゴン情報に領域IDを持たせた場合と同様の結果を得ることができる。
実施の形態2.
 実施の形態1では、領域情報生成部1が、テクスチャ画像内の任意の矩形領域を示す領域情報を生成して領域メモリ5に格納し、ポリゴン情報生成部2が、各領域を0.0≦u≦1.0、0.0≦v≦1.0の空間とみなしたテクスチャ座標を持つ頂点情報と、領域を特定する領域IDで構成されたポリゴン情報を生成した後、レンダリング部3が、ポリゴン情報と領域情報、テクスチャ画像を使用してポリゴンを描画した。
 しかし、一般的なモデリングツールなどを用いてポリゴンモデルを構築する際には、繰り返しマッピングされるテクスチャ画像を、それぞれ一つのテクスチャ画像として用意するため、ポリゴンモデルは複数のポリゴン情報と複数のテクスチャ画像から構成される。
 そこで、実施の形態2では、複数のテクスチャ画像と複数のポリゴン情報から、それらを描画した結果と同様の描画結果を得ることができる一つのテクスチャ画像と複数のポリゴン情報を自動的に生成し、レンダリング部3、領域メモリ5、テクスチャメモリ6への入力とする例について説明する。
 図18は、実施の形態2に係るテクスチャマッピング装置の要部構成図である。
 実施の形態2のテクスチャマッピング装置は、実施の形態1の領域情報生成部1とポリゴン情報生成部2の代わりに、複数のポリゴン情報と複数のテクスチャ画像を入力としたテクスチャ結合部9が追加されたものである。すなわち、テクスチャ結合部9は、画像と一意のIDから構成されるテクスチャ画像を複数個と、その複数個のテクスチャ画像を特定するテクスチャIDと複数の頂点情報とから構成されるポリゴン情報を入力とし、複数個のテクスチャ画像から一つのテクスチャ画像と複数の領域情報を生成すると共に、領域を特定する領域IDと複数の頂点情報からなる新たなポリゴン情報を生成する。
 実施の形態2におけるその他の構成については、実施の形態1と同様であるため、その他の構成については説明を省略する。
 次に、実施の形態2の動作について説明する。
 実施の形態2では、テクスチャ結合部9以外の動作は実施の形態1と同様であるため、テクスチャ結合部9の動作についてのみ説明する。
 以下、テクスチャ結合部9の動作を、図19~図24を用いて説明する。
 図19は、テクスチャ結合部9における処理の流れを示すフローチャートである。
 ここで、入力されるテクスチャ画像は、それぞれが0.0≦u≦1.0、0.0≦v≦1.0の2次元空間にピクセル値の配列として定義された、実施の形態1と同様の画像に加え、ポリゴンにマッピングされるテクスチャ画像を識別するための一意のIDを持つ。
 図20は、入力されるテクスチャ画像の例として、解像度の異なる二つのテクスチャ画像を示す図である。
 また、入力されるポリゴン情報は、説明を容易にするため、実施の形態1と同様に、3つの頂点A,B,Cからなる三角形ポリゴンを表すものとする。
 ポリゴン情報は、マッピングするテクスチャ画像を示すテクスチャIDと、頂点Aの頂点情報xA,yA,uA,vA、頂点Bの頂点情報xB,yB,uB,vB、頂点Cの頂点情報xC,yC,uC,vCから構成されるものとする。
 図21は、入力するポリゴン情報の例として、2つのポリゴン情報を表す図である。
 図22は、図20のテクスチャを用い、図21のポリゴン情報を一般的な描画装置で描画した結果を示す図である。
 図19に戻り、まず、テクスチャ結合部9は、与えられたテクスチャ画像を結合し、結合後の画像を包含する矩形領域を0.0≦u≦1.0、0.0≦v≦1.0とした新たなテクスチャ画像を生成してテクスチャメモリ6に記録する(ステップST91)。
 図23は、図20の2つのテクスチャを横に並べる形で結合した例を示す図である。
 テクスチャ画像の結合方法は任意であるが、例えば、上記結合後の画像を含む矩形のサイズが最小になるように、各テクスチャ画像の配置を最適化するなどの方法で結合される。
 次に、テクスチャ結合部9は、上記結合後の画像の中で、結合前の各画像が占める矩形領域と、同各画像のIDを領域情報として領域メモリ5に記録する(ステップST92)。
 図24は、図23のテクスチャ画像から生成された領域情報を示している。
 最後に、テクスチャ結合部9は、ポリゴン情報のテクスチャIDをそのまま領域IDとして置き換え、レンダリング部3に出力する(ステップST93)。
 なお、ポリゴンの頂点座標は2次元としているが、例えば、3次元以上の座標とし、ステップST93で出力画像を定義する2次元空間上に投影変換して出力するなどとしてもよい。
 以上説明したように、実施の形態2のテクスチャマッピング装置によれば、画像と一意のIDから構成されるテクスチャ画像を複数個と、複数個のテクスチャ画像を特定するテクスチャIDと複数の頂点情報とから構成されるポリゴン情報を入力とし、複数個のテクスチャ画像から一つのテクスチャ画像と複数の領域情報を生成すると共に、領域を特定する領域IDと複数の頂点情報からなる新たなポリゴン情報を生成するテクスチャ結合部と、出力画像上で新たなポリゴン情報が表すポリゴン内部にある全ピクセルに対し、位置座標とテクスチャ座標、領域IDからなるピクセル情報を生成するラスタライズ部と、ピクセル情報の領域IDで特定される領域情報を用いて、ピクセル情報のテクスチャ座標を加工すると共に、加工されたテクスチャ座標を用いてテクスチャ結合部で生成されたテクスチャ画像からピクセル値を取得し、かつ、ピクセル情報の位置座標が指す出力画像上のピクセルのピクセル値を、取得したピクセル値を用いて決定するテクスチャマッピング部と、テクスチャマッピング部の出力を画像表示装置に出力する出力部とを備えたので、繰り返しマッピングされるテクスチャ画像を、それぞれ一つのテクスチャ画像として用意するようなシステムであっても、テクスチャ画像の中で任意の幅と高さを持つ矩形領域をポリゴンに繰り返してマッピングすることができる。
 また、実施の形態2のテクスチャマッピング装置によれば、テクスチャ結合部は、複数のテクスチャ画像を結合し、結合前の各テクスチャ画像が結合後のテクスチャ画像内で占める領域を、それぞれ領域情報として生成するようにしたので、容易かつ確実にポリゴン情報を生成することができる。
 なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
 以上のように、この発明に係るテクスチャマッピング装置は、ポリゴンを描画する際、テクスチャ画像を用いてポリゴン内部にある各ピクセルの色情報を決定するものであり、コンピュータグラフィックスにおけるテクスチャマッピングを行うのに適している。
 1 領域情報生成部、2 ポリゴン情報生成部、3 レンダリング部、4 出力部、5 領域メモリ、6 テクスチャメモリ、7 出力画像メモリ、8 画像表示装置、9 テクスチャ結合部、31 ラスタライズ部、32 テクスチャマッピング部、311 テクスチャ座標補間部。

Claims (8)

  1.  テクスチャ画像の一部の領域を表す領域情報を複数生成する領域情報生成部と、
     出力画像上における頂点の座標および頂点に対応付けられるテクスチャ座標からなる頂点情報を複数個と、前記複数の領域情報の一つを特定する領域IDとから構成されるポリゴン情報を生成するポリゴン情報生成部と、
     前記出力画像上で前記ポリゴン情報が表すポリゴン内部にある全ピクセルに対し、位置座標とテクスチャ座標、領域IDからなるピクセル情報を生成するラスタライズ部と、
     前記ピクセル情報の領域IDで特定される領域情報を用いて、当該ピクセル情報のテクスチャ座標を加工すると共に、当該加工されたテクスチャ座標を用いて前記テクスチャ画像からピクセル値を取得し、かつ、前記ピクセル情報の位置座標が指す出力画像上のピクセルのピクセル値を、前記取得したピクセル値を用いて決定するテクスチャマッピング部と、
     前記テクスチャマッピング部の出力を画像表示装置に出力する出力部とを備えたことを特徴とするテクスチャマッピング装置。
  2.  ポリゴン情報生成部は、3次元空間に定義された位置座標を持つポリゴン情報を、描画時の仮想視点の位置に応じて投影変換することで、頂点位置を出力画像上の2次元座標に投影した後に、ラスタライズ部に出力することを特徴とする請求項1記載のテクスチャマッピング装置。
  3.  ラスタライズ部は、出力画像上でポリゴン情報が表すポリゴン内部にある全ピクセルに対して、前記ポリゴン情報を構成する各頂点の位置とピクセルの位置関係に応じ、各頂点のテクスチャ座標を補間したテクスチャ座標を算出し、前記ピクセルの位置座標と前記ポリゴン情報が有する領域IDと共にピクセル情報として出力することを特徴とする請求項1記載のテクスチャマッピング装置。
  4.  テクスチャマッピング部は、ラスタライズ部が出力したピクセル情報のテクスチャ座標を、前記ピクセル情報の領域IDに特定される領域情報が表す矩形内に収まるよう加工し、当該加工したテクスチャ座標を用いてテクスチャ画像からピクセル値を取得することを特徴とする請求項1記載のテクスチャマッピング装置。
  5.  ポリゴン情報生成部は、ポリゴン情報を構成する領域IDをポリゴン情報の構成要素として直接保持せず、テクスチャマッピング部に入力されたピクセル情報から当該領域IDを復元できるよう頂点情報を加工することで、前記領域IDを頂点情報の一部として保持させることを特徴とする請求項1記載のテクスチャマッピング装置。
  6.  テクスチャマッピング部は、入力されたピクセル情報から、ポリゴン情報の領域IDのインデックスを復元し、復元したインデックスを用いて領域情報を取得することを特徴とする請求項5記載のテクスチャマッピング装置。
  7.  画像と一意のIDから構成されるテクスチャ画像を複数個と、当該複数個のテクスチャ画像を特定するテクスチャIDと複数の頂点情報とから構成されるポリゴン情報を入力とし、前記複数個のテクスチャ画像から一つのテクスチャ画像と複数の領域情報を生成すると共に、領域を特定する領域IDと複数の頂点情報からなる新たなポリゴン情報を生成するテクスチャ結合部と、
     出力画像上で前記新たなポリゴン情報が表すポリゴン内部にある全ピクセルに対し、位置座標とテクスチャ座標、領域IDからなるピクセル情報を生成するラスタライズ部と、
     前記ピクセル情報の領域IDで特定される領域情報を用いて、当該ピクセル情報のテクスチャ座標を加工すると共に、当該加工されたテクスチャ座標を用いて前記テクスチャ結合部で生成されたテクスチャ画像からピクセル値を取得し、かつ、前記ピクセル情報の位置座標が指す出力画像上のピクセルのピクセル値を、前記取得したピクセル値を用いて決定するテクスチャマッピング部と、
     前記テクスチャマッピング部の出力を画像表示装置に出力する出力部とを備えたことを特徴とするテクスチャマッピング装置。
  8.  テクスチャ結合部は、複数のテクスチャ画像を結合し、結合前の各テクスチャ画像が結合後のテクスチャ画像内で占める領域を、それぞれ領域情報として生成することを特徴とする請求項7記載のテクスチャマッピング装置。
PCT/JP2011/002001 2011-04-04 2011-04-04 テクスチャマッピング装置 WO2012137243A1 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016528972A (ja) * 2013-07-23 2016-09-23 シロナ・デンタル・システムズ・ゲゼルシャフト・ミット・ベシュレンクテル・ハフツング 3d輪郭データ収集及びう蝕検出のシステム、方法、並びにコンピュータプログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 コンピュータグラフィックス描画装置及び描画方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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