(57)【要約】  領域情報生成部１は、テクスチャ画像の一部の領域を表す領域情報を複数生成する。ポリゴン情報生成部２は、複数個の頂点情報と領域ＩＤとからなるポリゴン情報を生成する。レンダリング部３は、ポリゴンの頂点のテクスチャ座標を出力画像上で補間してポリゴン内部の各ピクセルに割り当て、さらに、ポリゴン情報に付与されている領域ＩＤを参照して領域情報を取得し、出力画像の各ピクセルに割り当てたテクスチャ座標をその領域内に収まるように変換する。
2012137243.tif 000002
【特許請求の範囲】
【請求項１】
テクスチャ画像の一部の領域を表す領域情報を複数生成する領域情報生成部と、
出力画像上における頂点の座標および頂点に対応付けられるテクスチャ座標からなる頂点情報を複数個と、前記複数の領域情報の一つを特定する領域ＩＤとから構成されるポリゴン情報を生成するポリゴン情報生成部と、
前記出力画像上で前記ポリゴン情報が表すポリゴン内部にある全ピクセルに対し、位置座標とテクスチャ座標、領域ＩＤからなるピクセル情報を生成するラスタライズ部と、
前記ピクセル情報の領域ＩＤで特定される領域情報を用いて、当該ピクセル情報のテクスチャ座標を加工すると共に、当該加工されたテクスチャ座標を用いて前記テクスチャ画像からピクセル値を取得し、かつ、前記ピクセル情報の位置座標が指す出力画像上のピクセルのピクセル値を、前記取得したピクセル値を用いて決定するテクスチャマッピング部と、
前記テクスチャマッピング部の出力を画像表示装置に出力する出力部とを備えたことを特徴とするテクスチャマッピング装置。
【請求項２】
ポリゴン情報生成部は、３次元空間に定義された位置座標を持つポリゴン情報を、描画時の仮想視点の位置に応じて投影変換することで、頂点位置を出力画像上の２次元座標に投影した後に、ラスタライズ部に出力することを特徴とする請求項１記載のテクスチャマッピング装置。
【請求項３】
ラスタライズ部は、出力画像上でポリゴン情報が表すポリゴン内部にある全ピクセルに対して、前記ポリゴン情報を構成する各頂点の位置とピクセルの位置関係に応じ、各頂点のテクスチャ座標を補間したテクスチャ座標を算出し、前記ピクセルの位置座標と前記ポリゴン情報が有する領域ＩＤと共にピクセル情報として出力することを特徴とする請求項１記載のテクスチャマッピング装置。
【請求項４】
テクスチャマッピング部は、ラスタライズ部が出力したピクセル情報のテクスチャ座標を、前記ピクセル情報の領域ＩＤに特定される領域情報が表す矩形内に収まるよう加工し、当該加工したテクスチャ座標を用いてテクスチャ画像からピクセル値を取得することを特徴とする請求項１記載のテクスチャマッピング装置。
【請求項５】
ポリゴン情報生成部は、ポリゴン情報を構成する領域ＩＤをポリゴン情報の構成要素として直接保持せず、テクスチャマッピング部に入力されたピクセル情報から当該領域ＩＤを復元できるよう頂点情報を加工することで、前記領域ＩＤを頂点情報の一部として保持させることを特徴とする請求項１記載のテクスチャマッピング装置。
【請求項６】
テクスチャマッピング部は、入力されたピクセル情報から、ポリゴン情報の領域ＩＤのインデックスを復元し、復元したインデックスを用いて領域情報を取得することを特徴とする請求項５記載のテクスチャマッピング装置。
【請求項７】
画像と一意のＩＤから構成されるテクスチャ画像を複数個と、当該複数個のテクスチャ画像を特定するテクスチャＩＤと複数の頂点情報とから構成されるポリゴン情報を入力とし、前記複数個のテクスチャ画像から一つのテクスチャ画像と複数の領域情報を生成すると共に、領域を特定する領域ＩＤと複数の頂点情報からなる新たなポリゴン情報を生成するテクスチャ結合部と、
出力画像上で前記新たなポリゴン情報が表すポリゴン内部にある全ピクセルに対し、位置座標とテクスチャ座標、領域ＩＤからなるピクセル情報を生成するラスタライズ部と、
前記ピクセル情報の領域ＩＤで特定される領域情報を用いて、当該ピクセル情報のテクスチャ座標を加工すると共に、当該加工されたテクスチャ座標を用いて前記テクスチャ結合部で生成されたテクスチャ画像からピクセル値を取得し、かつ、前記ピクセル情報の位置座標が指す出力画像上のピクセルのピクセル値を、前記取得したピクセル値を用いて決定するテクスチャマッピング部と、
前記テクスチャマッピング部の出力を画像表示装置に出力する出力部とを備えたことを特徴とするテクスチャマッピング装置。
【請求項８】
テクスチャ結合部は、複数のテクスチャ画像を結合し、結合前の各テクスチャ画像が結合後のテクスチャ画像内で占める領域を、それぞれ領域情報として生成することを特徴とする請求項７記載のテクスチャマッピング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、グラフィックスシステムなどにおいて、ポリゴンを描画する際、テクスチャ画像を用いてポリゴン内部にある各ピクセルの色情報を決定するテクスチャマッピング装置に関するものである。
【背景技術】
【０００２】
コンピュータグラフィックスにおいて、主に３次元モデルを表現するために使用されるポリゴンの表現力を向上するため、ポリゴン内部に２次元画像を割り付けて描画するテクスチャマッピングが知られている。
テクスチャマッピングを用いてポリゴンを描画する際には、出力画像内での各頂点の位置座標と、各頂点に対応付けられたテクスチャ画像内の座標（以降、テクスチャ座標という）を含むデータを用意する。そして、出力画像上で各頂点を結んだポリゴン内部にある各ピクセルに対して、頂点のテクスチャ座標を補間したテクスチャ座標を割り当てる。最後に、上記各ピクセルに割り当てられたテクスチャ座標を用いてテクスチャ画像からピクセル値を取り出し、出力画像へコピーすることで、ポリゴン内部をテクスチャ画像と同様の模様で塗りつぶした出力画像を得る。【０００３】
テクスチャマッピングにおいては、テクスチャ画像が定義された範囲を超えるテクスチャ座標を頂点に割り当てることで、テクスチャ画像をポリゴン内で繰り返してマッピングできる。そのため、ポリゴン内に同じパターンの画像を繰り返して描画するとき、パターンを繰り返したテクスチャ画像を用意する必要が無く、パターン一つ分のテクスチャ画像でよいためデータ量を節約できることが知られている。【０００４】
一方で、複数のポリゴンに対してそれぞれ異なるテクスチャ画像をマッピングする際には、複数のテクスチャ画像を用意して描画するよりも、複数のテクスチャ画像を結合して一つのテクスチャ画像とし、結合後のテクスチャ画像に対するテクスチャ座標を各ポリゴンの頂点に割り当てて描画した方が高速に描画できることが知られている。
しかし、上記結合したテクスチャ画像を使用する場合、テクスチャ画像が定義された範囲外のテクスチャ座標を指定すると、結合したテクスチャ画像全体が繰り返しマッピングされることとなり、結合前のテクスチャ画像、すなわち結合後のテクスチャ画像の一部分を繰り返してマッピングできない。【０００５】
このような問題に対し、例えば特許文献１に記載されたような従来のテクスチャマッピング装置では、出力画像上でポリゴン内部にある各ピクセルに割り当てるテクスチャ座標を算出した際、さらにテクスチャ座標の上位ビットを０にセットし、オフセット値を加算する処理を追加することで、テクスチャ画像の中から一部の矩形領域を選択し、当該領域のみをポリゴンに繰り返してマッピングするようにしていた。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平８−１１０９５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献１に記載されたような従来装置では、テクスチャ座標の下位ビットでテクスチャ座標が繰り返されるため、矩形領域の高さと幅は２のべき乗に制限される。そのため、複数のテクスチャ画像を結合し、当該手法によって結合後のテクスチャ画像の一部のみをポリゴンに繰り返してマッピングする場合、予め結合前のテクスチャ画像を伸縮し、高さと幅を２のべき乗にする手間が必要となる問題があった。
また、テクスチャ画像を縮小する場合は画質が劣化し、反対に、テクスチャ画像を伸張する場合は結合結果のテクスチャ画像サイズが大きくなり、それに伴ってデータサイズが大きくなってしまうという問題もあった。【０００８】
この発明は、かかる問題を解決するためになされたもので、矩形領域の幅と高さを予め２のべき乗に拡大縮小しておくための計算時間を短縮することができ、かつ、必要な画質を最小限のサイズで表現したテクスチャ画像を利用できるテクスチャマッピング装置を得ることを目的とする。
【課題を解決するための手段】
【０００９】
この発明に係るテクスチャマッピング装置は、テクスチャ画像の一部の領域を表す領域情報を複数生成する領域情報生成部と、出力画像上における頂点の座標および頂点に対応付けられるテクスチャ座標からなる頂点情報を複数個と、複数の領域情報の一つを特定する領域ＩＤとから構成されるポリゴン情報を生成するポリゴン情報生成部と、出力画像上でポリゴン情報が表すポリゴン内部にある全ピクセルに対し、位置座標とテクスチャ座標、領域ＩＤからなるピクセル情報を生成するラスタライズ部と、ピクセル情報の領域ＩＤで特定される領域情報を用いて、ピクセル情報のテクスチャ座標を加工すると共に、加工されたテクスチャ座標を用いてテクスチャ画像からピクセル値を取得し、かつ、ピクセル情報の位置座標が指す出力画像上のピクセルのピクセル値を、取得したピクセル値を用いて決定するテクスチャマッピング部と、テクスチャマッピング部の出力を画像表示装置に出力する出力部とを備えたものである。
【発明の効果】
【００１０】
この発明に係るテクスチャマッピング装置は、テクスチャ画像内の任意の領域を領域情報として複数生成しておき、ピクセル情報の領域ＩＤで特定される領域情報を用いて、ピクセル情報のテクスチャ座標を加工すると共に、加工されたテクスチャ座標を用いてテクスチャ画像からピクセル値を取得し、かつ、ピクセル情報の位置座標が指す出力画像上のピクセルのピクセル値を、取得したピクセル値を用いて決定するようにしたので、テクスチャ画像の中で任意の幅と高さを持つ矩形領域を、ポリゴンに繰り返してマッピングできるため、矩形領域の幅と高さを予め２のべき乗に拡大縮小しておくための計算時間を短縮することができ、かつ、拡大縮小に伴う画像サイズの増大または画質劣化を防ぐことができるため、必要な画質を最小限のサイズで表現したテクスチャ画像を利用できる。
【図面の簡単な説明】
【００１１】
【図１】この発明の実施の形態１によるテクスチャマッピング装置を示す構成図である。
【図２】この発明の実施の形態１のテクスチャマッピング装置におけるテクスチャ画像を定義する座標系と、テクスチャ画像の例を示す説明図である。
【図３】この発明の実施の形態１のテクスチャマッピング装置における領域情報の例を、テクスチャ画像を定義する空間上に示す説明図である。
【図４】この発明の実施の形態１のテクスチャマッピング装置における図３の領域情報のデータ例を示す説明図である。
【図５】この発明の実施の形態１のテクスチャマッピング装置における出力画像を定義する座標系と、初期状態の出力画像の例を示す説明図である。
【図６】この発明の実施の形態１のテクスチャマッピング装置におけるポリゴン情報生成部が生成するポリゴン情報の例を示す説明図である。
【図７】この発明の実施の形態１のテクスチャマッピング装置における図２のテクスチャ画像と図４の領域情報とを用いて図６のポリゴン情報を描画した結果得られる出力画像を示す説明図である。
【図８】この発明の実施の形態１のテクスチャマッピング装置におけるラスタライズ部の処理内容を示すフローチャートである。
【図９】この発明の実施の形態１のテクスチャマッピング装置における図６のポリゴン情報をラスタライズ部が並べ替えた結果を示す説明図である。
【図１０】この発明の実施の形態１のテクスチャマッピング装置におけるラスタライズ部から出力されるピクセル情報の例を示す説明図である。
【図１１】この発明の実施の形態１のテクスチャマッピング装置におけるテクスチャ座標補間部の処理内容を示すフローチャートである。
【図１２】この発明の実施の形態１のテクスチャマッピング装置におけるテクスチャ座標補間部で使用される点とピクセルの位置関係を示す説明図である。
【図１３】この発明の実施の形態１のテクスチャマッピング装置におけるテクスチャマッピング部の処理内容を示すフローチャートである。
【図１４】この発明の実施の形態１のテクスチャマッピング装置における図１０のピクセル情報をテクスチャマッピング部が加工した結果を示す説明図である。
【図１５】この発明の実施の形態１のテクスチャマッピング装置における図１４のピクセル情報の位置座標とテクスチャ座標の関係を示す説明図である。
【図１６】この発明の実施の形態１のテクスチャマッピング装置におけるポリゴン情報生成部が生成するポリゴン情報の他の例を示す説明図である。
【図１７】この発明の実施の形態１のテクスチャマッピング装置における図１６のポリゴン情報をラスタライズ部に入力した結果出力されるピクセル情報の例を示す説明図である。
【図１８】この発明の実施の形態２のテクスチャマッピング装置を示す要部構成図である。
【図１９】この発明の実施の形態２のテクスチャマッピング装置におけるテクスチャ結合部の処理内容を示すフローチャートである。
【図２０】この発明の実施の形態２のテクスチャマッピング装置におけるテクスチャ結合部に入力される複数のテクスチャ画像の例を示す説明図である。
【図２１】この発明の実施の形態２のテクスチャマッピング装置におけるテクスチャ結合部に入力される複数のポリゴン情報の例を示す説明図である。
【図２２】この発明の実施の形態２のテクスチャマッピング装置における図２０のテクスチャ画像を用いて図２１のポリゴン情報を描画した結果得られる出力画像を示す説明図である。
【図２３】この発明の実施の形態２のテクスチャマッピング装置における図２０の複数のテクスチャをテクスチャ結合部が結合した結果のテクスチャ画像の例を示す説明図である。
【図２４】この発明の実施の形態２のテクスチャマッピング装置における図２０のテクスチャ画像を結合した際に、テクスチャ結合部が生成する領域情報を示す説明図である。
【発明を実施するための形態】
【００１２】
以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態１．
図１は、本実施の形態によるテクスチャマッピング装置を示す構成図である。
図示の装置は、領域情報生成部１、ポリゴン情報生成部２、レンダリング部３、出力部４、領域メモリ５、テクスチャメモリ６、出力画像メモリ７から構成される。
【００１３】
領域情報生成部１は、テクスチャ画像の中で任意の矩形領域を表す領域情報を生成し、各領域情報にＩＤを割り当てて領域メモリ５に格納する。ポリゴン情報生成部２は、少なくとも、複数の頂点情報と上記領域情報の一つを特定する領域ＩＤとから構成されるポリゴン情報を生成する。レンダリング部３は、ポリゴン情報生成部２で生成されたポリゴン情報の領域ＩＤで特定される矩形領域内にあるテクスチャ画像の一部を、出力画像上でポリゴン内部に繰り返してマッピングするように、当該ポリゴン内部の各ピクセルの色を決定することで、出力画像メモリ７上に出力画像を生成する。出力部４は、出力画像メモリ７上に生成された出力画像を、画像表示装置８に出力する。また、領域メモリ５は、領域情報を格納するためのメモリであり、テクスチャメモリ６は、テクスチャ画像を格納するためのメモリである。また、出力画像メモリ７は、レンダリング部３で生成された出力画像を格納するためのメモリである。さらに、画像表示装置８は、出力画像を表示するための表示装置である。
【００１４】
次に、実施の形態１のテクスチャマッピング装置の各部の動作を説明する。
まず、領域情報生成部１の動作を、図２〜図４を用いて説明する。
領域情報生成部１は、テクスチャメモリ６に格納されたテクスチャ画像の中で任意の矩形領域を表す領域情報を複数生成し、それぞれに固有のＩＤを与えて領域メモリ５に格納する。
ここで、テクスチャ画像は色情報を表すピクセル値の２次元配列として、テクスチャメモリ６に記録されており、座標軸ｕおよびｖで定義される２次元空間上で、解像度に関係なく０．０≦ｕ≦１．０、０．０≦ｖ≦１．０の範囲にあるものとする。すなわち、テクスチャ画像がＭ×Ｎピクセルからなる場合、各ピクセルのｕ軸およびｖ軸方向の長さは、１／Ｍおよび１／Ｎとなる。また、ピクセルの中心位置の座標を、ピクセルの位置とする。
【００１５】
図２はテクスチャ画像を定義する空間とテクスチャ画像の例を示す図である。
領域情報は４つの数値（ｕＲ，ｖＲ，ｗＲ，ｈＲ）で表され、それぞれ当該領域内で最小のｕ座標とｖ座標、および当該領域のｕ軸方向とｖ軸方向の幅を表す。
領域情報の決定方法は任意であるが、例えば、プログラマが手動で各領域を指定するなどの方法で決定される。
図３は、テクスチャ画像内に領域情報を生成した結果の例を表し、図４は領域メモリ５に格納された、図３の領域情報である。
【００１６】
次に、ポリゴン情報生成部２の動作を、図５〜図７を用いて説明する。
ポリゴン情報生成部２は、ポリゴンを構成する複数の頂点情報と、領域情報生成部１が生成した領域を特定する領域ＩＤから構成されるポリゴン情報を生成し、レンダリング部３へ出力する。頂点情報は、少なくとも、出力画像上における位置を表す位置座標と、テクスチャ座標とから構成される。
また、ポリゴンを構成する頂点数は任意であるが、本実施の形態では、例として３角形ポリゴンについて説明する。
【００１７】
ここで、ポリゴン情報を構成する頂点をそれぞれ頂点Ａ，Ｂ，Ｃとし、頂点Ａの位置座標とテクスチャ座標をｘＡ，ｙＡ，ｕＡ，ｖＡ、頂点Ｂの位置座標とテクスチャ座標をｘＢ，ｙＢ，ｕＢ，ｖＢ、頂点Ｃの位置座標とテクスチャ座標をｘＣ，ｙＣ，ｕＣ，ｖＣとする。
出力画像は、ピクセル値の２次元配列として、出力画像メモリ７上に記録されており、座標軸ｘおよびｙで表される２次元空間上で、解像度に関係なく０．０≦ｘ≦１．０、０．０≦ｙ≦１．０の範囲にあるものとする。
【００１８】
図５は、出力画像の座標系と白色で初期化した出力画像の例を示す。
頂点情報を構成するテクスチャ座標は、上記領域ＩＤが指定する矩形領域の左下端を（ｕ，ｖ）＝（０．０，０．０）とし，右上端を（ｕ，ｖ）＝（１．０，１．０）とみなした座標として表現され、テクスチャ座標が０．０以下または１．０以上の値を取る場合、当該矩形領域内のテクスチャ画像がポリゴン内に繰り返しマッピングされることとなる。
例えば、（ｕＡ，ｖＡ）＝（０．５，０．５）と指定した場合、頂点Ａには上記領域ＩＤで指定した領域の中心に当たる点がマッピングされる。
【００１９】
図６は、ポリゴン情報の例を示しており、図７は、図２のテクスチャ画像を用いて図６を描画した結果となるべき出力画像を示している。
ポリゴン情報を構成する頂点座標の生成方法は任意であるが、例えば、プログラマがモデリングソフトなどを用いて構築した３次元ポリゴンモデルの各ポリゴンの頂点座標を、投影変換によって出力画像を定義する空間に投影変換することなどで生成される。
ポリゴン情報を構成するＩＤとテクスチャ座標の生成方法は任意であるが、例えば、プログラマが直接指定することなどによって生成される。
【００２０】
次に、レンダリング部３を構成するラスタライズ部３１の動作を、図８〜図１０を用いて説明する。
図８は、ラスタライズ部３１における処理の流れを示すフローチャートである。
ラスタライズ部３１は、ポリゴンの頂点のｙ座標を比較し、ｙ座標が小さい頂点から順に頂点Ａ，Ｂ，Ｃとなるよう頂点を並べ替える（ステップＳＴ３１１）。
図９は、図６のポリゴン情報にステップＳＴ３１１を適用した結果を表す。
さらに、出力画像のピクセルへの参照であるポインタＰを用意し、ポインタＰの参照先を、出力画像上でポリゴン内にあり、かつ、頂点Ａに最も近いピクセルとする（ステップＳＴ３１２）。
次に、テクスチャ座標補間部３１１が、ポインタＰの指すピクセルの位置座標に応じて、頂点Ａ，Ｂ，Ｃの持つテクスチャ座標を補間したテクスチャ座標（ｕＰ，ｖＰ）を算出し（ステップＳＴ３１３）、算出されたテクスチャ座標と当該ポリゴンの領域ＩＤ、当該ピクセルの位置座標をピクセル情報として、テクスチャマッピング部３２へ出力する（ステップＳＴ３１４）。
図１０は、出力されたピクセル情報のいくつかの例を示している。
【００２１】
ピクセル情報を出力後、ポインタＰの参照先を、ｘ軸の正の方向に一つ隣のピクセルとする（ステップＳＴ３１５）。このとき、ポインタＰの指すピクセルがポリゴン内部にあればステップＳＴ３１３に戻る（ステップＳＴ３１６）。逆に、ポインタＰの指すピクセルがポリゴン外にある場合、ポインタＰの参照先を、ｙ軸の正の方向に一つ隣にあるピクセルとする（ステップＳＴ３１７）。ここで、ポインタＰの指すピクセルのｙ座標が、頂点Ｃのｙ座標より大きい場合、処理を終了し、そうでない場合は続行する（ステップＳＴ３１８）。最後に、ポインタＰが指すピクセルと同じｙ座標にあり、かつポリゴンの内部にあるピクセルの中で最もｘ座標の小さいピクセルに、ポインタＰの参照先を変更してステップＳＴ３１３へ戻る（ステップＳＴ３１９）。
【００２２】
ラスタライズ部３１を構成するテクスチャ座標補間部３１１の動作を、図１１と図１２を用いて説明する。
図１１はテクスチャ座標補間部３１１の処理の流れを示すフローチャートである。
テクスチャ座標補間部３１１は、まず、ポインタＰが指すピクセルの位置からｘ軸と平行に伸ばした直線と、ポリゴンの各辺との２つの交点を算出し、ｘ座標が小さいほうを点Ｄ、大きいほうを点Ｅとする（ステップＳＴ３１１１）。
図１２は、ポインタＰ、点Ｄ、点Ｅの位置関係を示す図である。
【００２３】
次に、点Ｄの位置座標を（ｘＤ，ｙＤ）とし、頂点Ａ，Ｂ，Ｃのテクスチャ座標を点Ｄの位置で補間したテクスチャ座標（ｕＤ，ｖＤ）を次の式で算出する（ステップＳＴ３１１２）。
●点Ｄが辺ＡＢ上にある場合：
ｕＤ＝ｕＡ×（ｙＢ−ｙＤ）／（ｙＢ−ｙＡ）＋ｕＢ×（ｙＤ−ｙＡ）／（ｙＢ−ｙＡ）
ｖＤ＝ｖＡ×（ｙＢ−ｙＤ）／（ｙＢ−ｙＡ）＋ｖＢ×（ｙＤ−ｙＡ）／（ｙＢ−ｙＡ）
●点Ｄが辺ＢＣ上にある場合：
ｕＤ＝ｕＢ×（ｙＣ−ｙＤ）／（ｙＣ−ｙＢ）＋ｕＣ×（ｙＤ−ｙＢ）／（ｙＣ−ｙＢ）
ｖＤ＝ｖＢ×（ｙＣ−ｙＤ）／（ｙＣ−ｙＢ）＋ｖＣ×（ｙＤ−ｙＢ）／（ｙＣ−ｙＢ）
●点Ｄが辺ＡＣ上にある場合：
ｕＤ＝ｕＡ×（ｙＣ−ｙＤ）／（ｙＣ−ｙＡ）＋ｕＣ×（ｙＤ−ｙＡ）／（ｙＣ−ｙＡ）
ｖＤ＝ｖＡ×（ｙＣ−ｙＤ）／（ｙＣ−ｙＡ）＋ｖＣ×（ｙＤ−ｙＡ）／（ｙＣ−ｙＡ）
【００２４】
同様に、点Ｅの位置座標を（ｘＥ，ｙＥ）とし、頂点Ａ，Ｂ，Ｃのテクスチャ座標を点Ｅの位置で補間した（ｕＥ，ｖＥ）を、（ｕＤ，ｖＤ）と同じ方法で算出する。最後に、ポインタＰの指すピクセルの位置座標を（ｘＰ，ｙＰ）とし、ポインタＰの指すピクセルの位置で、（ｕＤ，ｖＤ）と（ｕＥ，ｖＥ）を補間したテクスチャ座標（ｕＰ，ｖＰ）を次の式で算出し、ラスタライズ部３１に返す（ＳＴ３１１３）。
ｕＰ＝ｕＤ×（ｘＥ−ｘＰ）／（ｘＥ−ｘＤ）＋ｕＥ×（ｘＰ−ｘＤ）／（ｘＥ−ｘＤ）
ｖＰ＝ｖＤ×（ｘＥ−ｘＰ）／（ｘＥ−ｘＤ）＋ｖＥ×（ｘＰ−ｘＤ）／（ｘＥ−ｘＤ）
【００２５】
レンダリング部３を構成するテクスチャマッピング部３２の動作を、図１３〜図１５を用いて説明する。
図１３はテクスチャマッピング部３２における処理の流れを示すフローチャートである。
テクスチャマッピング部３２は、ラスタライズ部３１から出力されたピクセル情報の領域ＩＤが指す領域情報（ｕＲ，ｖＲ，ｗＲ，ｈＲ）を領域メモリ５から取得する（ステップＳＴ３２１）。次に、ピクセル情報のテクスチャ座標（ｕＰ，ｖＰ）を、次の式で加工した（ｕＰ’，ｖＰ’）を算出する。
ｕＰ’＝ｕＲ＋ｆｒａｃｔ（ｕＰ）×ｗＲ
ｖＰ’＝ｖＲ＋ｆｒａｃｔ（ｖＰ）×ｈＲ
ここで、ｆｒａｃｔ（ｒ）とは、実数ｒからｒを超えない最大の整数を差し引いた値を示している。
そして、ピクセル情報のテクスチャ座標（ｕＰ，ｖＰ）を（ｕＰ’，ｖＰ’）で上書きして更新する（ステップＳＴ３２２）。
図１４は、図１０のピクセル情報をステップＳＴ３２２で更新した結果を表す。
【００２６】
テクスチャ座標の更新後、テクスチャマッピング部３２は、更新されたテクスチャ座標を用いてテクスチャ画像からピクセル値を取り出し、出力画像上で同ピクセル情報の位置座標が指すピクセルに代入する（ステップＳＴ３２４）。ただし、ピクセル情報のテクスチャ座標は、必ずしもテクスチャ画像のピクセルの中心位置を表していないため、ピクセル値を取得する際には、当該テクスチャ座標の近傍にある複数のピクセルのピクセル値を補間するなどの方法で、適切なピクセル値を取り出す。
【００２７】
また、出力画像のピクセル値を決定する際に、テクスチャ画像から取得したピクセル値をそのまま出力画像のピクセルに代入する代わりに、ポリゴンにライティング処理を施して色情報を付加しておき、テクスチャ画像から取得したピクセル値とブレンドして出力するなど、テクスチャ画像から取得したピクセル値以外の色情報をポリゴンに与えて使用しても良い。
図１５は、図１４の各ピクセル情報の位置座標が指す出力画像上の位置と、テクスチャ座標が指すテクスチャ画像上の位置の対応関係を示している。
【００２８】
以上の動作をするレンダリング部３は、主にＧＰＵ（Graphics Processing Unit）によって構成されるが、ＧＰＵの多くは、ポリゴン情報を頂点単位の情報の集合として扱うため、ポリゴン情報の領域ＩＤのように、ポリゴン単位の情報を扱うことができない。この場合、ポリゴン情報生成部２が生成するポリゴン情報の構成を変更し、各頂点情報に領域ＩＤを持たせることで対処できるが、変数数が多くなる。そこで、ポリゴン情報生成部２が領域ＩＤとテクスチャ座標を結合した変数を生成してテクスチャ座標の代わりに入力し、テクスチャマッピング部３２にて分解する構成としてもよい。
【００２９】
具体的には、例えば、ポリゴン情報生成部２にて出力するポリゴン情報に領域ＩＤを持たせず、頂点情報のテクスチャ座標（ｕＡ，ｖＡ）（ｕＢ，ｖＢ）（ｕＣ，ｖＣ）を、次式で表される（ｕＡ”，ｖＡ”）（ｕＢ”，ｖＢ”）（ｕＣ”，ｖＣ”）に置き換える。
ｕＡ”＝領域ＩＤ×１００＋ｕＡ
ｖＡ”＝ｖＡ
ｕＢ”＝領域ＩＤ×１００＋ｕＢ
ｖＢ”＝ｖＢ
ｕＣ”＝領域ＩＤ×１００＋ｕＣ
ｖＣ”＝ｖＣ
ただし、０≦ｕＡ、ｕＢ、ｕＣ＜１００．０とする。
図１６は、図６のポリゴン情報を、上記方法にて置き換えたものである。
【００３０】
さらに、ラスタライズ部３１では、ｕＰ，ｖＰを算出するときと同様の手順で、各頂点のテクスチャ座標をピクセルごとに補間したｕＰ”，ｖＰ”を算出する。
図１７は、図１６のポリゴン情報をラスタライズ部３１で処理した結果のピクセル情報である。
【００３１】
その後、テクスチャマッピング部３２のステップＳＴ３２２にて、次の式で領域ＩＤを復元すると同時に、テクスチャ座標（ｕＰ’，ｖＰ’）を算出することで、ポリゴン情報に領域ＩＤを持たせた場合と同様の結果を得ることができる。
領域ＩＤ＝ｆｌｏｏｒ（ｕ／１００）
ｕＰ’＝ｕＲ＋ｆｒａｃｔ（ｕＰ”）×ｗＲ
ｖＰ’＝ｖＲ＋ｆｒａｃｔ（ｖＰ”）×ｈＲ
ここで、ｆｌｏｏｒ（ｒ）とは、実数ｒを超えない最大の整数値である。
【００３２】
最後に出力部４の動作について説明する。
出力部４は、ポリゴン情報生成部２が生成した全てのポリゴン情報に対して、テクスチャマッピング部３２が処理を終了した後に、出力画像メモリ７に格納されている出力画像を、画像表示装置８に出力する。これにより、画像表示装置８は、出力画像メモリ７に格納されている出力画像を表示する。
【００３３】
以上説明したように、実施の形態１のテクスチャマッピング装置によれば、テクスチャ画像の一部の領域を表す領域情報を複数生成する領域情報生成部と、出力画像上における頂点の座標および頂点に対応付けられるテクスチャ座標からなる頂点情報を複数個と、複数の領域情報の一つを特定する領域ＩＤとから構成されるポリゴン情報を生成するポリゴン情報生成部と、出力画像上でポリゴン情報が表すポリゴン内部にある全ピクセルに対し、位置座標とテクスチャ座標、領域ＩＤからなるピクセル情報を生成するラスタライズ部と、ピクセル情報の領域ＩＤで特定される領域情報を用いて、ピクセル情報のテクスチャ座標を加工すると共に、加工されたテクスチャ座標を用いてテクスチャ画像からピクセル値を取得し、かつ、ピクセル情報の位置座標が指す出力画像上のピクセルのピクセル値を、取得したピクセル値を用いて決定するテクスチャマッピング部と、テクスチャマッピング部の出力を画像表示装置に出力する出力部を備えたので、テクスチャ画像の中で任意の幅と高さを持つ矩形領域をポリゴンに繰り返してマッピングできるため、矩形領域の幅と高さを予め２のべき乗に拡大縮小しておくための計算時間を短縮することができ、かつ、拡大縮小に伴う画像サイズの増大または画質劣化を防ぐことができるため、必要な画質を最小限のサイズで表現したテクスチャ画像を利用できる。
【００３４】
また、実施の形態１のテクスチャマッピング装置によれば、ポリゴン情報生成部は、３次元空間に定義された位置座標を持つポリゴン情報を、描画時の仮想視点の位置に応じて投影変換することで、頂点位置を出力画像上の２次元座標に投影した後に、ラスタライズ部に出力するようにしたので、精確なポリゴン情報を生成することができる。
【００３５】
また、実施の形態１のテクスチャマッピング装置によれば、ラスタライズ部は、出力画像上でポリゴン情報が表すポリゴン内部にある全ピクセルに対して、ポリゴン情報を構成する各頂点の位置とピクセルの位置関係に応じ、各頂点のテクスチャ座標を補間したテクスチャ座標を算出し、ピクセルの位置座標とポリゴン情報が有する領域ＩＤと共にピクセル情報として出力するようにしたので、精確なピクセル情報を生成することができる。
【００３６】
また、実施の形態１のテクスチャマッピング装置によれば、テクスチャマッピング部は、ラスタライズ部が出力したピクセル情報のテクスチャ座標を、ピクセル情報の領域ＩＤに特定される領域情報が表す矩形内に収まるよう加工し、加工したテクスチャ座標を用いてテクスチャ画像からピクセル値を取得するようにしたので、容易かつ確実にテクスチャマッピングを行うことができる。
【００３７】
また、実施の形態１のテクスチャマッピング装置によれば、ポリゴン情報生成部は、ポリゴン情報を構成する領域ＩＤをポリゴン情報の構成要素として直接保持せず、テクスチャマッピング部に入力されたピクセル情報から領域ＩＤを復元できるよう頂点情報を加工することで、領域ＩＤを頂点情報の一部として保持させるようにしたので、ポリゴン情報に領域ＩＤを持たせた場合と同様の結果を得ることができる。
【００３８】
また、実施の形態１のテクスチャマッピング装置によれば、テクスチャマッピング部は、入力されたピクセル情報から、ポリゴン情報の領域ＩＤのインデックスを復元し、復元したインデックスを用いて領域情報を取得するようにしたので、ポリゴン情報に領域ＩＤを持たせた場合と同様の結果を得ることができる。
【００３９】
実施の形態２．
実施の形態１では、領域情報生成部１が、テクスチャ画像内の任意の矩形領域を示す領域情報を生成して領域メモリ５に格納し、ポリゴン情報生成部２が、各領域を０．０≦ｕ≦１．０、０．０≦ｖ≦１．０の空間とみなしたテクスチャ座標を持つ頂点情報と、領域を特定する領域ＩＤで構成されたポリゴン情報を生成した後、レンダリング部３が、ポリゴン情報と領域情報、テクスチャ画像を使用してポリゴンを描画した。
【００４０】
しかし、一般的なモデリングツールなどを用いてポリゴンモデルを構築する際には、繰り返しマッピングされるテクスチャ画像を、それぞれ一つのテクスチャ画像として用意するため、ポリゴンモデルは複数のポリゴン情報と複数のテクスチャ画像から構成される。
そこで、実施の形態２では、複数のテクスチャ画像と複数のポリゴン情報から、それらを描画した結果と同様の描画結果を得ることができる一つのテクスチャ画像と複数のポリゴン情報を自動的に生成し、レンダリング部３、領域メモリ５、テクスチャメモリ６への入力とする例について説明する。
【００４１】
図１８は、実施の形態２に係るテクスチャマッピング装置の要部構成図である。
実施の形態２のテクスチャマッピング装置は、実施の形態１の領域情報生成部１とポリゴン情報生成部２の代わりに、複数のポリゴン情報と複数のテクスチャ画像を入力としたテクスチャ結合部９が追加されたものである。すなわち、テクスチャ結合部９は、画像と一意のＩＤから構成されるテクスチャ画像を複数個と、その複数個のテクスチャ画像を特定するテクスチャＩＤと複数の頂点情報とから構成されるポリゴン情報を入力とし、複数個のテクスチャ画像から一つのテクスチャ画像と複数の領域情報を生成すると共に、領域を特定する領域ＩＤと複数の頂点情報からなる新たなポリゴン情報を生成する。
実施の形態２におけるその他の構成については、実施の形態１と同様であるため、その他の構成については説明を省略する。
【００４２】
次に、実施の形態２の動作について説明する。
実施の形態２では、テクスチャ結合部９以外の動作は実施の形態１と同様であるため、テクスチャ結合部９の動作についてのみ説明する。
以下、テクスチャ結合部９の動作を、図１９〜図２４を用いて説明する。
図１９は、テクスチャ結合部９における処理の流れを示すフローチャートである。
ここで、入力されるテクスチャ画像は、それぞれが０．０≦ｕ≦１．０、０．０≦ｖ≦１．０の２次元空間にピクセル値の配列として定義された、実施の形態１と同様の画像に加え、ポリゴンにマッピングされるテクスチャ画像を識別するための一意のＩＤを持つ。
図２０は、入力されるテクスチャ画像の例として、解像度の異なる二つのテクスチャ画像を示す図である。
【００４３】
また、入力されるポリゴン情報は、説明を容易にするため、実施の形態１と同様に、３つの頂点Ａ，Ｂ，Ｃからなる三角形ポリゴンを表すものとする。
ポリゴン情報は、マッピングするテクスチャ画像を示すテクスチャＩＤと、頂点Ａの頂点情報ｘＡ，ｙＡ，ｕＡ，ｖＡ、頂点Ｂの頂点情報ｘＢ，ｙＢ，ｕＢ，ｖＢ、頂点Ｃの頂点情報ｘＣ，ｙＣ，ｕＣ，ｖＣから構成されるものとする。
図２１は、入力するポリゴン情報の例として、２つのポリゴン情報を表す図である。
図２２は、図２０のテクスチャを用い、図２１のポリゴン情報を一般的な描画装置で描画した結果を示す図である。
【００４４】
図１９に戻り、まず、テクスチャ結合部９は、与えられたテクスチャ画像を結合し、結合後の画像を包含する矩形領域を０．０≦ｕ≦１．０、０．０≦ｖ≦１．０とした新たなテクスチャ画像を生成してテクスチャメモリ６に記録する（ステップＳＴ９１）。
図２３は、図２０の２つのテクスチャを横に並べる形で結合した例を示す図である。
テクスチャ画像の結合方法は任意であるが、例えば、上記結合後の画像を含む矩形のサイズが最小になるように、各テクスチャ画像の配置を最適化するなどの方法で結合される。
【００４５】
次に、テクスチャ結合部９は、上記結合後の画像の中で、結合前の各画像が占める矩形領域と、同各画像のＩＤを領域情報として領域メモリ５に記録する（ステップＳＴ９２）。
図２４は、図２３のテクスチャ画像から生成された領域情報を示している。
【００４６】
最後に、テクスチャ結合部９は、ポリゴン情報のテクスチャＩＤをそのまま領域ＩＤとして置き換え、レンダリング部３に出力する（ステップＳＴ９３）。
なお、ポリゴンの頂点座標は２次元としているが、例えば、３次元以上の座標とし、ステップＳＴ９３で出力画像を定義する２次元空間上に投影変換して出力するなどとしてもよい。
【００４７】
以上説明したように、実施の形態２のテクスチャマッピング装置によれば、画像と一意のＩＤから構成されるテクスチャ画像を複数個と、複数個のテクスチャ画像を特定するテクスチャＩＤと複数の頂点情報とから構成されるポリゴン情報を入力とし、複数個のテクスチャ画像から一つのテクスチャ画像と複数の領域情報を生成すると共に、領域を特定する領域ＩＤと複数の頂点情報からなる新たなポリゴン情報を生成するテクスチャ結合部と、出力画像上で新たなポリゴン情報が表すポリゴン内部にある全ピクセルに対し、位置座標とテクスチャ座標、領域ＩＤからなるピクセル情報を生成するラスタライズ部と、ピクセル情報の領域ＩＤで特定される領域情報を用いて、ピクセル情報のテクスチャ座標を加工すると共に、加工されたテクスチャ座標を用いてテクスチャ結合部で生成されたテクスチャ画像からピクセル値を取得し、かつ、ピクセル情報の位置座標が指す出力画像上のピクセルのピクセル値を、取得したピクセル値を用いて決定するテクスチャマッピング部と、テクスチャマッピング部の出力を画像表示装置に出力する出力部とを備えたので、繰り返しマッピングされるテクスチャ画像を、それぞれ一つのテクスチャ画像として用意するようなシステムであっても、テクスチャ画像の中で任意の幅と高さを持つ矩形領域をポリゴンに繰り返してマッピングすることができる。
【００４８】
また、実施の形態２のテクスチャマッピング装置によれば、テクスチャ結合部は、複数のテクスチャ画像を結合し、結合前の各テクスチャ画像が結合後のテクスチャ画像内で占める領域を、それぞれ領域情報として生成するようにしたので、容易かつ確実にポリゴン情報を生成することができる。
【００４９】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【産業上の利用可能性】
【００５０】
以上のように、この発明に係るテクスチャマッピング装置は、ポリゴンを描画する際、テクスチャ画像を用いてポリゴン内部にある各ピクセルの色情報を決定するものであり、コンピュータグラフィックスにおけるテクスチャマッピングを行うのに適している。
【符号の説明】
【００５１】
１  領域情報生成部、２  ポリゴン情報生成部、３  レンダリング部、４  出力部、５  領域メモリ、６  テクスチャメモリ、７  出力画像メモリ、８  画像表示装置、９  テクスチャ結合部、３１  ラスタライズ部、３２  テクスチャマッピング部、３１１  テクスチャ座標補間部。
【図１】
2012137243.tif 000003
【図２】
2012137243.tif 000004
【図３】
2012137243.tif 000005
【図４】
2012137243.tif 000006
【図５】
2012137243.tif 000007
【図６】
2012137243.tif 000008
【図７】
2012137243.tif 000009
【図８】
2012137243.tif 000010
【図９】
2012137243.tif 000011
【図１０】
2012137243.tif 000012
【図１１】
2012137243.tif 000013
【図１２】
2012137243.tif 000014
【図１３】
2012137243.tif 000015
【図１４】
2012137243.tif 000016
【図１５】
2012137243.tif 000017
【図１６】
2012137243.tif 000018
【図１７】
2012137243.tif 000019
【図１８】
2012137243.tif 000020
【図１９】
2012137243.tif 000021
【図２０】
2012137243.tif 000022
【図２１】
2012137243.tif 000023
【図２２】
2012137243.tif 000024
【図２３】
2012137243.tif 000025
【図２４】
2012137243.tif 000026
【手続補正書】
【提出日】平成25年4月10日(2013.4.10)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、グラフィックスシステムなどにおいて、ポリゴンを描画する際、テクスチャ画像を用いてポリゴン内部にある各ピクセルの色情報を決定するテクスチャマッピング装置に関するものである。
【背景技術】
【０００２】
コンピュータグラフィックスにおいて、主に３次元モデルを表現するために使用されるポリゴンの表現力を向上するため、ポリゴン内部に２次元画像を割り付けて描画するテクスチャマッピングが知られている。
テクスチャマッピングを用いてポリゴンを描画する際には、出力画像内での各頂点の位置座標と、各頂点に対応付けられたテクスチャ画像内の座標（以降、テクスチャ座標という）を含むデータを用意する。そして、出力画像上で各頂点を結んだポリゴン内部にある各ピクセルに対して、頂点のテクスチャ座標を補間したテクスチャ座標を割り当てる。最後に、上記各ピクセルに割り当てられたテクスチャ座標を用いてテクスチャ画像からピクセル値を取り出し、出力画像へコピーすることで、ポリゴン内部をテクスチャ画像と同様の模様で塗りつぶした出力画像を得る。
【０００３】
テクスチャマッピングにおいては、テクスチャ画像が定義された範囲を超えるテクスチャ座標を頂点に割り当てることで、テクスチャ画像をポリゴン内で繰り返してマッピングできる。そのため、ポリゴン内に同じパターンの画像を繰り返して描画するとき、パターンを繰り返したテクスチャ画像を用意する必要が無く、パターン一つ分のテクスチャ画像でよいためデータ量を節約できることが知られている。
【０００４】
一方で、複数のポリゴンに対してそれぞれ異なるテクスチャ画像をマッピングする際には、複数のテクスチャ画像を用意して描画するよりも、複数のテクスチャ画像を結合して一つのテクスチャ画像とし、結合後のテクスチャ画像に対するテクスチャ座標を各ポリゴンの頂点に割り当てて描画した方が高速に描画できることが知られている。
しかし、上記結合したテクスチャ画像を使用する場合、テクスチャ画像が定義された範囲外のテクスチャ座標を指定すると、結合したテクスチャ画像全体が繰り返しマッピングされることとなり、結合前のテクスチャ画像、すなわち結合後のテクスチャ画像の一部分を繰り返してマッピングできない。
【０００５】
このような問題に対し、例えば特許文献１に記載されたような従来のテクスチャマッピング装置では、出力画像上でポリゴン内部にある各ピクセルに割り当てるテクスチャ座標を算出した際、さらにテクスチャ座標の上位ビットを０にセットし、オフセット値を加算する処理を追加することで、テクスチャ画像の中から一部の矩形領域を選択し、当該領域のみをポリゴンに繰り返してマッピングするようにしていた。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平８−１１０９５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献１に記載されたような従来装置では、テクスチャ座標の下位ビットでテクスチャ座標が繰り返されるため、矩形領域の高さと幅は２のべき乗に制限される。そのため、複数のテクスチャ画像を結合し、当該手法によって結合後のテクスチャ画像の一部のみをポリゴンに繰り返してマッピングする場合、予め結合前のテクスチャ画像を伸縮し、高さと幅を２のべき乗にする手間が必要となる問題があった。
また、テクスチャ画像を縮小する場合は画質が劣化し、反対に、テクスチャ画像を伸張する場合は結合結果のテクスチャ画像サイズが大きくなり、それに伴ってデータサイズが大きくなってしまうという問題もあった。
【０００８】
この発明は、かかる問題を解決するためになされたもので、矩形領域の幅と高さを予め２のべき乗に拡大縮小しておくための計算時間を短縮することができ、かつ、必要な画質を最小限のサイズで表現したテクスチャ画像を利用できるテクスチャマッピング装置を得ることを目的とする。
【課題を解決するための手段】
【０００９】
この発明に係るテクスチャマッピング装置は、テクスチャ画像の一部の領域を表す領域情報を複数生成する領域情報生成部と、出力画像上における頂点の座標および頂点に対応付けられるテクスチャ座標からなる頂点情報を複数個と、複数の領域情報の一つを特定する領域ＩＤとから構成されるポリゴン情報を生成するポリゴン情報生成部と、出力画像上でポリゴン情報が表すポリゴン内部にある全ピクセルに対し、位置座標とテクスチャ座標、領域ＩＤからなるピクセル情報を生成するラスタライズ部と、ピクセル情報の領域ＩＤで特定される領域情報を用いて、ピクセル情報のテクスチャ座標を加工すると共に、加工されたテクスチャ座標を用いてテクスチャ画像からピクセル値を取得し、かつ、ピクセル情報の位置座標が指す出力画像上のピクセルのピクセル値を、取得したピクセル値を用いて決定するテクスチャマッピング部と、テクスチャマッピング部の出力を画像表示装置に出力する出力部とを備え、ポリゴン情報生成部は、ポリゴン情報を構成する領域ＩＤをポリゴン情報の構成要素として直接保持せず、テクスチャマッピング部に入力されたピクセル情報から当該領域ＩＤを復元できるよう頂点情報を加工することで、領域ＩＤを頂点情報の一部として保持させるものである。
【発明の効果】
【００１０】
この発明に係るテクスチャマッピング装置は、テクスチャ画像内の任意の領域を領域情報として複数生成しておき、ピクセル情報の領域ＩＤで特定される領域情報を用いて、ピクセル情報のテクスチャ座標を加工すると共に、加工されたテクスチャ座標を用いてテクスチャ画像からピクセル値を取得し、かつ、ピクセル情報の位置座標が指す出力画像上のピクセルのピクセル値を、取得したピクセル値を用いて決定するようにしたので、テクスチャ画像の中で任意の幅と高さを持つ矩形領域を、ポリゴンに繰り返してマッピングできるため、矩形領域の幅と高さを予め２のべき乗に拡大縮小しておくための計算時間を短縮することができ、かつ、拡大縮小に伴う画像サイズの増大または画質劣化を防ぐことができるため、必要な画質を最小限のサイズで表現したテクスチャ画像を利用できる。
【図面の簡単な説明】
【００１１】
【図１】この発明の実施の形態１によるテクスチャマッピング装置を示す構成図である。
【図２】この発明の実施の形態１のテクスチャマッピング装置におけるテクスチャ画像を定義する座標系と、テクスチャ画像の例を示す説明図である。
【図３】この発明の実施の形態１のテクスチャマッピング装置における領域情報の例を、テクスチャ画像を定義する空間上に示す説明図である。
【図４】この発明の実施の形態１のテクスチャマッピング装置における図３の領域情報のデータ例を示す説明図である。
【図５】この発明の実施の形態１のテクスチャマッピング装置における出力画像を定義する座標系と、初期状態の出力画像の例を示す説明図である。
【図６】この発明の実施の形態１のテクスチャマッピング装置におけるポリゴン情報生成部が生成するポリゴン情報の例を示す説明図である。
【図７】この発明の実施の形態１のテクスチャマッピング装置における図２のテクスチャ画像と図４の領域情報とを用いて図６のポリゴン情報を描画した結果得られる出力画像を示す説明図である。
【図８】この発明の実施の形態１のテクスチャマッピング装置におけるラスタライズ部の処理内容を示すフローチャートである。
【図９】この発明の実施の形態１のテクスチャマッピング装置における図６のポリゴン情報をラスタライズ部が並べ替えた結果を示す説明図である。
【図１０】この発明の実施の形態１のテクスチャマッピング装置におけるラスタライズ部から出力されるピクセル情報の例を示す説明図である。
【図１１】この発明の実施の形態１のテクスチャマッピング装置におけるテクスチャ座標補間部の処理内容を示すフローチャートである。
【図１２】この発明の実施の形態１のテクスチャマッピング装置におけるテクスチャ座標補間部で使用される点とピクセルの位置関係を示す説明図である。
【図１３】この発明の実施の形態１のテクスチャマッピング装置におけるテクスチャマッピング部の処理内容を示すフローチャートである。
【図１４】この発明の実施の形態１のテクスチャマッピング装置における図１０のピクセル情報をテクスチャマッピング部が加工した結果を示す説明図である。
【図１５】この発明の実施の形態１のテクスチャマッピング装置における図１４のピクセル情報の位置座標とテクスチャ座標の関係を示す説明図である。
【図１６】この発明の実施の形態１のテクスチャマッピング装置におけるポリゴン情報生成部が生成するポリゴン情報の他の例を示す説明図である。
【図１７】この発明の実施の形態１のテクスチャマッピング装置における図１６のポリゴン情報をラスタライズ部に入力した結果出力されるピクセル情報の例を示す説明図である。
【図１８】この発明の実施の形態２のテクスチャマッピング装置を示す要部構成図である。
【図１９】この発明の実施の形態２のテクスチャマッピング装置におけるテクスチャ結合部の処理内容を示すフローチャートである。
【図２０】この発明の実施の形態２のテクスチャマッピング装置におけるテクスチャ結合部に入力される複数のテクスチャ画像の例を示す説明図である。
【図２１】この発明の実施の形態２のテクスチャマッピング装置におけるテクスチャ結合部に入力される複数のポリゴン情報の例を示す説明図である。
【図２２】この発明の実施の形態２のテクスチャマッピング装置における図２０のテクスチャ画像を用いて図２１のポリゴン情報を描画した結果得られる出力画像を示す説明図である。
【図２３】この発明の実施の形態２のテクスチャマッピング装置における図２０の複数のテクスチャをテクスチャ結合部が結合した結果のテクスチャ画像の例を示す説明図である。
【図２４】この発明の実施の形態２のテクスチャマッピング装置における図２０のテクスチャ画像を結合した際に、テクスチャ結合部が生成する領域情報を示す説明図である。
【発明を実施するための形態】
【００１２】
以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態１．
図１は、本実施の形態によるテクスチャマッピング装置を示す構成図である。
図示の装置は、領域情報生成部１、ポリゴン情報生成部２、レンダリング部３、出力部４、領域メモリ５、テクスチャメモリ６、出力画像メモリ７から構成される。
【００１３】
領域情報生成部１は、テクスチャ画像の中で任意の矩形領域を表す領域情報を生成し、各領域情報にＩＤを割り当てて領域メモリ５に格納する。ポリゴン情報生成部２は、少なくとも、複数の頂点情報と上記領域情報の一つを特定する領域ＩＤとから構成されるポリゴン情報を生成する。レンダリング部３は、ポリゴン情報生成部２で生成されたポリゴン情報の領域ＩＤで特定される矩形領域内にあるテクスチャ画像の一部を、出力画像上でポリゴン内部に繰り返してマッピングするように、当該ポリゴン内部の各ピクセルの色を決定することで、出力画像メモリ７上に出力画像を生成する。出力部４は、出力画像メモリ７上に生成された出力画像を、画像表示装置８に出力する。また、領域メモリ５は、領域情報を格納するためのメモリであり、テクスチャメモリ６は、テクスチャ画像を格納するためのメモリである。また、出力画像メモリ７は、レンダリング部３で生成された出力画像を格納するためのメモリである。さらに、画像表示装置８は、出力画像を表示するための表示装置である。
【００１４】
次に、実施の形態１のテクスチャマッピング装置の各部の動作を説明する。
まず、領域情報生成部１の動作を、図２〜図４を用いて説明する。
領域情報生成部１は、テクスチャメモリ６に格納されたテクスチャ画像の中で任意の矩形領域を表す領域情報を複数生成し、それぞれに固有のＩＤを与えて領域メモリ５に格納する。
ここで、テクスチャ画像は色情報を表すピクセル値の２次元配列として、テクスチャメモリ６に記録されており、座標軸ｕおよびｖで定義される２次元空間上で、解像度に関係なく０．０≦ｕ≦１．０、０．０≦ｖ≦１．０の範囲にあるものとする。すなわち、テクスチャ画像がＭ×Ｎピクセルからなる場合、各ピクセルのｕ軸およびｖ軸方向の長さは、１／Ｍおよび１／Ｎとなる。また、ピクセルの中心位置の座標を、ピクセルの位置とする。
【００１５】
図２はテクスチャ画像を定義する空間とテクスチャ画像の例を示す図である。
領域情報は４つの数値（ｕＲ，ｖＲ，ｗＲ，ｈＲ）で表され、それぞれ当該領域内で最小のｕ座標とｖ座標、および当該領域のｕ軸方向とｖ軸方向の幅を表す。
領域情報の決定方法は任意であるが、例えば、プログラマが手動で各領域を指定するなどの方法で決定される。
図３は、テクスチャ画像内に領域情報を生成した結果の例を表し、図４は領域メモリ５に格納された、図３の領域情報である。
【００１６】
次に、ポリゴン情報生成部２の動作を、図５〜図７を用いて説明する。
ポリゴン情報生成部２は、ポリゴンを構成する複数の頂点情報と、領域情報生成部１が生成した領域を特定する領域ＩＤから構成されるポリゴン情報を生成し、レンダリング部３へ出力する。頂点情報は、少なくとも、出力画像上における位置を表す位置座標と、テクスチャ座標とから構成される。
また、ポリゴンを構成する頂点数は任意であるが、本実施の形態では、例として３角形ポリゴンについて説明する。
【００１７】
ここで、ポリゴン情報を構成する頂点をそれぞれ頂点Ａ，Ｂ，Ｃとし、頂点Ａの位置座標とテクスチャ座標をｘＡ，ｙＡ，ｕＡ，ｖＡ、頂点Ｂの位置座標とテクスチャ座標をｘＢ，ｙＢ，ｕＢ，ｖＢ、頂点Ｃの位置座標とテクスチャ座標をｘＣ，ｙＣ，ｕＣ，ｖＣとする。
出力画像は、ピクセル値の２次元配列として、出力画像メモリ７上に記録されており、座標軸ｘおよびｙで表される２次元空間上で、解像度に関係なく０．０≦ｘ≦１．０、０．０≦ｙ≦１．０の範囲にあるものとする。
【００１８】
図５は、出力画像の座標系と白色で初期化した出力画像の例を示す。
頂点情報を構成するテクスチャ座標は、上記領域ＩＤが指定する矩形領域の左下端を（ｕ，ｖ）＝（０．０，０．０）とし，右上端を（ｕ，ｖ）＝（１．０，１．０）とみなした座標として表現され、テクスチャ座標が０．０以下または１．０以上の値を取る場合、当該矩形領域内のテクスチャ画像がポリゴン内に繰り返しマッピングされることとなる。
例えば、（ｕＡ，ｖＡ）＝（０．５，０．５）と指定した場合、頂点Ａには上記領域ＩＤで指定した領域の中心に当たる点がマッピングされる。
【００１９】
図６は、ポリゴン情報の例を示しており、図７は、図２のテクスチャ画像を用いて図６を描画した結果となるべき出力画像を示している。
ポリゴン情報を構成する頂点座標の生成方法は任意であるが、例えば、プログラマがモデリングソフトなどを用いて構築した３次元ポリゴンモデルの各ポリゴンの頂点座標を、投影変換によって出力画像を定義する空間に投影変換することなどで生成される。
ポリゴン情報を構成するＩＤとテクスチャ座標の生成方法は任意であるが、例えば、プログラマが直接指定することなどによって生成される。
【００２０】
次に、レンダリング部３を構成するラスタライズ部３１の動作を、図８〜図１０を用いて説明する。
図８は、ラスタライズ部３１における処理の流れを示すフローチャートである。
ラスタライズ部３１は、ポリゴンの頂点のｙ座標を比較し、ｙ座標が小さい頂点から順に頂点Ａ，Ｂ，Ｃとなるよう頂点を並べ替える（ステップＳＴ３１１）。
図９は、図６のポリゴン情報にステップＳＴ３１１を適用した結果を表す。
さらに、出力画像のピクセルへの参照であるポインタＰを用意し、ポインタＰの参照先を、出力画像上でポリゴン内にあり、かつ、頂点Ａに最も近いピクセルとする（ステップＳＴ３１２）。
次に、テクスチャ座標補間部３１１が、ポインタＰの指すピクセルの位置座標に応じて、頂点Ａ，Ｂ，Ｃの持つテクスチャ座標を補間したテクスチャ座標（ｕＰ，ｖＰ）を算出し（ステップＳＴ３１３）、算出されたテクスチャ座標と当該ポリゴンの領域ＩＤ、当該ピクセルの位置座標をピクセル情報として、テクスチャマッピング部３２へ出力する（ステップＳＴ３１４）。
図１０は、出力されたピクセル情報のいくつかの例を示している。
【００２１】
ピクセル情報を出力後、ポインタＰの参照先を、ｘ軸の正の方向に一つ隣のピクセルとする（ステップＳＴ３１５）。このとき、ポインタＰの指すピクセルがポリゴン内部にあればステップＳＴ３１３に戻る（ステップＳＴ３１６）。逆に、ポインタＰの指すピクセルがポリゴン外にある場合、ポインタＰの参照先を、ｙ軸の正の方向に一つ隣にあるピクセルとする（ステップＳＴ３１７）。ここで、ポインタＰの指すピクセルのｙ座標が、頂点Ｃのｙ座標より大きい場合、処理を終了し、そうでない場合は続行する（ステップＳＴ３１８）。最後に、ポインタＰが指すピクセルと同じｙ座標にあり、かつポリゴンの内部にあるピクセルの中で最もｘ座標の小さいピクセルに、ポインタＰの参照先を変更してステップＳＴ３１３へ戻る（ステップＳＴ３１９）。
【００２２】
ラスタライズ部３１を構成するテクスチャ座標補間部３１１の動作を、図１１と図１２を用いて説明する。
図１１はテクスチャ座標補間部３１１の処理の流れを示すフローチャートである。
テクスチャ座標補間部３１１は、まず、ポインタＰが指すピクセルの位置からｘ軸と平行に伸ばした直線と、ポリゴンの各辺との２つの交点を算出し、ｘ座標が小さいほうを点Ｄ、大きいほうを点Ｅとする（ステップＳＴ３１１１）。
図１２は、ポインタＰ、点Ｄ、点Ｅの位置関係を示す図である。
【００２３】
次に、点Ｄの位置座標を（ｘＤ，ｙＤ）とし、頂点Ａ，Ｂ，Ｃのテクスチャ座標を点Ｄの位置で補間したテクスチャ座標（ｕＤ，ｖＤ）を次の式で算出する（ステップＳＴ３１１２）。
●点Ｄが辺ＡＢ上にある場合：
ｕＤ＝ｕＡ×（ｙＢ−ｙＤ）／（ｙＢ−ｙＡ）＋ｕＢ×（ｙＤ−ｙＡ）／（ｙＢ−ｙＡ）
ｖＤ＝ｖＡ×（ｙＢ−ｙＤ）／（ｙＢ−ｙＡ）＋ｖＢ×（ｙＤ−ｙＡ）／（ｙＢ−ｙＡ）
●点Ｄが辺ＢＣ上にある場合：
ｕＤ＝ｕＢ×（ｙＣ−ｙＤ）／（ｙＣ−ｙＢ）＋ｕＣ×（ｙＤ−ｙＢ）／（ｙＣ−ｙＢ）
ｖＤ＝ｖＢ×（ｙＣ−ｙＤ）／（ｙＣ−ｙＢ）＋ｖＣ×（ｙＤ−ｙＢ）／（ｙＣ−ｙＢ）
●点Ｄが辺ＡＣ上にある場合：
ｕＤ＝ｕＡ×（ｙＣ−ｙＤ）／（ｙＣ−ｙＡ）＋ｕＣ×（ｙＤ−ｙＡ）／（ｙＣ−ｙＡ）
ｖＤ＝ｖＡ×（ｙＣ−ｙＤ）／（ｙＣ−ｙＡ）＋ｖＣ×（ｙＤ−ｙＡ）／（ｙＣ−ｙＡ）
【００２４】
同様に、点Ｅの位置座標を（ｘＥ，ｙＥ）とし、頂点Ａ，Ｂ，Ｃのテクスチャ座標を点Ｅの位置で補間した（ｕＥ，ｖＥ）を、（ｕＤ，ｖＤ）と同じ方法で算出する。最後に、ポインタＰの指すピクセルの位置座標を（ｘＰ，ｙＰ）とし、ポインタＰの指すピクセルの位置で、（ｕＤ，ｖＤ）と（ｕＥ，ｖＥ）を補間したテクスチャ座標（ｕＰ，ｖＰ）を次の式で算出し、ラスタライズ部３１に返す（ＳＴ３１１３）。
ｕＰ＝ｕＤ×（ｘＥ−ｘＰ）／（ｘＥ−ｘＤ）＋ｕＥ×（ｘＰ−ｘＤ）／（ｘＥ−ｘＤ）
ｖＰ＝ｖＤ×（ｘＥ−ｘＰ）／（ｘＥ−ｘＤ）＋ｖＥ×（ｘＰ−ｘＤ）／（ｘＥ−ｘＤ）
【００２５】
レンダリング部３を構成するテクスチャマッピング部３２の動作を、図１３〜図１５を用いて説明する。
図１３はテクスチャマッピング部３２における処理の流れを示すフローチャートである。
テクスチャマッピング部３２は、ラスタライズ部３１から出力されたピクセル情報の領域ＩＤが指す領域情報（ｕＲ，ｖＲ，ｗＲ，ｈＲ）を領域メモリ５から取得する（ステップＳＴ３２１）。次に、ピクセル情報のテクスチャ座標（ｕＰ，ｖＰ）を、次の式で加工した（ｕＰ’，ｖＰ’）を算出する。
ｕＰ’＝ｕＲ＋ｆｒａｃｔ（ｕＰ）×ｗＲ
ｖＰ’＝ｖＲ＋ｆｒａｃｔ（ｖＰ）×ｈＲ
ここで、ｆｒａｃｔ（ｒ）とは、実数ｒからｒを超えない最大の整数を差し引いた値を示している。
そして、ピクセル情報のテクスチャ座標（ｕＰ，ｖＰ）を（ｕＰ’，ｖＰ’）で上書きして更新する（ステップＳＴ３２２）。
図１４は、図１０のピクセル情報をステップＳＴ３２２で更新した結果を表す。
【００２６】
テクスチャ座標の更新後、テクスチャマッピング部３２は、更新されたテクスチャ座標を用いてテクスチャ画像からピクセル値を取り出し、出力画像上で同ピクセル情報の位置座標が指すピクセルに代入する（ステップＳＴ３２４）。ただし、ピクセル情報のテクスチャ座標は、必ずしもテクスチャ画像のピクセルの中心位置を表していないため、ピクセル値を取得する際には、当該テクスチャ座標の近傍にある複数のピクセルのピクセル値を補間するなどの方法で、適切なピクセル値を取り出す。
【００２７】
また、出力画像のピクセル値を決定する際に、テクスチャ画像から取得したピクセル値をそのまま出力画像のピクセルに代入する代わりに、ポリゴンにライティング処理を施して色情報を付加しておき、テクスチャ画像から取得したピクセル値とブレンドして出力するなど、テクスチャ画像から取得したピクセル値以外の色情報をポリゴンに与えて使用しても良い。
図１５は、図１４の各ピクセル情報の位置座標が指す出力画像上の位置と、テクスチャ座標が指すテクスチャ画像上の位置の対応関係を示している。
【００２８】
以上の動作をするレンダリング部３は、主にＧＰＵ（Graphics Processing Unit）によって構成されるが、ＧＰＵの多くは、ポリゴン情報を頂点単位の情報の集合として扱うため、ポリゴン情報の領域ＩＤのように、ポリゴン単位の情報を扱うことができない。この場合、ポリゴン情報生成部２が生成するポリゴン情報の構成を変更し、各頂点情報に領域ＩＤを持たせることで対処できるが、変数数が多くなる。そこで、ポリゴン情報生成部２が領域ＩＤとテクスチャ座標を結合した変数を生成してテクスチャ座標の代わりに入力し、テクスチャマッピング部３２にて分解する構成としてもよい。
【００２９】
具体的には、例えば、ポリゴン情報生成部２にて出力するポリゴン情報に領域ＩＤを持たせず、頂点情報のテクスチャ座標（ｕＡ，ｖＡ）（ｕＢ，ｖＢ）（ｕＣ，ｖＣ）を、次式で表される（ｕＡ”，ｖＡ”）（ｕＢ”，ｖＢ”）（ｕＣ”，ｖＣ”）に置き換える。
ｕＡ”＝領域ＩＤ×１００＋ｕＡ
ｖＡ”＝ｖＡ
ｕＢ”＝領域ＩＤ×１００＋ｕＢ
ｖＢ”＝ｖＢ
ｕＣ”＝領域ＩＤ×１００＋ｕＣ
ｖＣ”＝ｖＣ
ただし、０≦ｕＡ、ｕＢ、ｕＣ＜１００．０とする。
図１６は、図６のポリゴン情報を、上記方法にて置き換えたものである。
【００３０】
さらに、ラスタライズ部３１では、ｕＰ，ｖＰを算出するときと同様の手順で、各頂点のテクスチャ座標をピクセルごとに補間したｕＰ”，ｖＰ”を算出する。
図１７は、図１６のポリゴン情報をラスタライズ部３１で処理した結果のピクセル情報である。
【００３１】
その後、テクスチャマッピング部３２のステップＳＴ３２２にて、次の式で領域ＩＤを復元すると同時に、テクスチャ座標（ｕＰ’，ｖＰ’）を算出することで、ポリゴン情報に領域ＩＤを持たせた場合と同様の結果を得ることができる。
領域ＩＤ＝ｆｌｏｏｒ（ｕ／１００）
ｕＰ’＝ｕＲ＋ｆｒａｃｔ（ｕＰ”）×ｗＲ
ｖＰ’＝ｖＲ＋ｆｒａｃｔ（ｖＰ”）×ｈＲ
ここで、ｆｌｏｏｒ（ｒ）とは、実数ｒを超えない最大の整数値である。
【００３２】
最後に出力部４の動作について説明する。
出力部４は、ポリゴン情報生成部２が生成した全てのポリゴン情報に対して、テクスチャマッピング部３２が処理を終了した後に、出力画像メモリ７に格納されている出力画像を、画像表示装置８に出力する。これにより、画像表示装置８は、出力画像メモリ７に格納されている出力画像を表示する。
【００３３】
以上説明したように、実施の形態１のテクスチャマッピング装置によれば、テクスチャ画像の一部の領域を表す領域情報を複数生成する領域情報生成部と、出力画像上における頂点の座標および頂点に対応付けられるテクスチャ座標からなる頂点情報を複数個と、複数の領域情報の一つを特定する領域ＩＤとから構成されるポリゴン情報を生成するポリゴン情報生成部と、出力画像上でポリゴン情報が表すポリゴン内部にある全ピクセルに対し、位置座標とテクスチャ座標、領域ＩＤからなるピクセル情報を生成するラスタライズ部と、ピクセル情報の領域ＩＤで特定される領域情報を用いて、ピクセル情報のテクスチャ座標を加工すると共に、加工されたテクスチャ座標を用いてテクスチャ画像からピクセル値を取得し、かつ、ピクセル情報の位置座標が指す出力画像上のピクセルのピクセル値を、取得したピクセル値を用いて決定するテクスチャマッピング部と、テクスチャマッピング部の出力を画像表示装置に出力する出力部を備えたので、テクスチャ画像の中で任意の幅と高さを持つ矩形領域をポリゴンに繰り返してマッピングできるため、矩形領域の幅と高さを予め２のべき乗に拡大縮小しておくための計算時間を短縮することができ、かつ、拡大縮小に伴う画像サイズの増大または画質劣化を防ぐことができるため、必要な画質を最小限のサイズで表現したテクスチャ画像を利用できる。
【００３４】
また、実施の形態１のテクスチャマッピング装置によれば、ポリゴン情報生成部は、３次元空間に定義された位置座標を持つポリゴン情報を、描画時の仮想視点の位置に応じて投影変換することで、頂点位置を出力画像上の２次元座標に投影した後に、ラスタライズ部に出力するようにしたので、精確なポリゴン情報を生成することができる。
【００３５】
また、実施の形態１のテクスチャマッピング装置によれば、ラスタライズ部は、出力画像上でポリゴン情報が表すポリゴン内部にある全ピクセルに対して、ポリゴン情報を構成する各頂点の位置とピクセルの位置関係に応じ、各頂点のテクスチャ座標を補間したテクスチャ座標を算出し、ピクセルの位置座標とポリゴン情報が有する領域ＩＤと共にピクセル情報として出力するようにしたので、精確なピクセル情報を生成することができる。
【００３６】
また、実施の形態１のテクスチャマッピング装置によれば、テクスチャマッピング部は、ラスタライズ部が出力したピクセル情報のテクスチャ座標を、ピクセル情報の領域ＩＤに特定される領域情報が表す矩形内に収まるよう加工し、加工したテクスチャ座標を用いてテクスチャ画像からピクセル値を取得するようにしたので、容易かつ確実にテクスチャマッピングを行うことができる。
【００３７】
また、実施の形態１のテクスチャマッピング装置によれば、ポリゴン情報生成部は、ポリゴン情報を構成する領域ＩＤをポリゴン情報の構成要素として直接保持せず、テクスチャマッピング部に入力されたピクセル情報から領域ＩＤを復元できるよう頂点情報を加工することで、領域ＩＤを頂点情報の一部として保持させるようにしたので、ポリゴン情報に領域ＩＤを持たせた場合と同様の結果を得ることができる。
【００３８】
また、実施の形態１のテクスチャマッピング装置によれば、テクスチャマッピング部は、入力されたピクセル情報から、ポリゴン情報の領域ＩＤのインデックスを復元し、復元したインデックスを用いて領域情報を取得するようにしたので、ポリゴン情報に領域ＩＤを持たせた場合と同様の結果を得ることができる。
【００３９】
実施の形態２．
実施の形態１では、領域情報生成部１が、テクスチャ画像内の任意の矩形領域を示す領域情報を生成して領域メモリ５に格納し、ポリゴン情報生成部２が、各領域を０．０≦ｕ≦１．０、０．０≦ｖ≦１．０の空間とみなしたテクスチャ座標を持つ頂点情報と、領域を特定する領域ＩＤで構成されたポリゴン情報を生成した後、レンダリング部３が、ポリゴン情報と領域情報、テクスチャ画像を使用してポリゴンを描画した。
【００４０】
しかし、一般的なモデリングツールなどを用いてポリゴンモデルを構築する際には、繰り返しマッピングされるテクスチャ画像を、それぞれ一つのテクスチャ画像として用意するため、ポリゴンモデルは複数のポリゴン情報と複数のテクスチャ画像から構成される。
そこで、実施の形態２では、複数のテクスチャ画像と複数のポリゴン情報から、それらを描画した結果と同様の描画結果を得ることができる一つのテクスチャ画像と複数のポリゴン情報を自動的に生成し、レンダリング部３、領域メモリ５、テクスチャメモリ６への入力とする例について説明する。
【００４１】
図１８は、実施の形態２に係るテクスチャマッピング装置の要部構成図である。
実施の形態２のテクスチャマッピング装置は、実施の形態１の領域情報生成部１とポリゴン情報生成部２の代わりに、複数のポリゴン情報と複数のテクスチャ画像を入力としたテクスチャ結合部９が追加されたものである。すなわち、テクスチャ結合部９は、画像と一意のＩＤから構成されるテクスチャ画像を複数個と、その複数個のテクスチャ画像を特定するテクスチャＩＤと複数の頂点情報とから構成されるポリゴン情報を入力とし、複数個のテクスチャ画像から一つのテクスチャ画像と複数の領域情報を生成すると共に、領域を特定する領域ＩＤと複数の頂点情報からなる新たなポリゴン情報を生成する。
実施の形態２におけるその他の構成については、実施の形態１と同様であるため、その他の構成については説明を省略する。
【００４２】
次に、実施の形態２の動作について説明する。
実施の形態２では、テクスチャ結合部９以外の動作は実施の形態１と同様であるため、テクスチャ結合部９の動作についてのみ説明する。
以下、テクスチャ結合部９の動作を、図１９〜図２４を用いて説明する。
図１９は、テクスチャ結合部９における処理の流れを示すフローチャートである。
ここで、入力されるテクスチャ画像は、それぞれが０．０≦ｕ≦１．０、０．０≦ｖ≦１．０の２次元空間にピクセル値の配列として定義された、実施の形態１と同様の画像に加え、ポリゴンにマッピングされるテクスチャ画像を識別するための一意のＩＤを持つ。
図２０は、入力されるテクスチャ画像の例として、解像度の異なる二つのテクスチャ画像を示す図である。
【００４３】
また、入力されるポリゴン情報は、説明を容易にするため、実施の形態１と同様に、３つの頂点Ａ，Ｂ，Ｃからなる三角形ポリゴンを表すものとする。
ポリゴン情報は、マッピングするテクスチャ画像を示すテクスチャＩＤと、頂点Ａの頂点情報ｘＡ，ｙＡ，ｕＡ，ｖＡ、頂点Ｂの頂点情報ｘＢ，ｙＢ，ｕＢ，ｖＢ、頂点Ｃの頂点情報ｘＣ，ｙＣ，ｕＣ，ｖＣから構成されるものとする。
図２１は、入力するポリゴン情報の例として、２つのポリゴン情報を表す図である。
図２２は、図２０のテクスチャを用い、図２１のポリゴン情報を一般的な描画装置で描画した結果を示す図である。
【００４４】
図１９に戻り、まず、テクスチャ結合部９は、与えられたテクスチャ画像を結合し、結合後の画像を包含する矩形領域を０．０≦ｕ≦１．０、０．０≦ｖ≦１．０とした新たなテクスチャ画像を生成してテクスチャメモリ６に記録する（ステップＳＴ９１）。
図２３は、図２０の２つのテクスチャを横に並べる形で結合した例を示す図である。
テクスチャ画像の結合方法は任意であるが、例えば、上記結合後の画像を含む矩形のサイズが最小になるように、各テクスチャ画像の配置を最適化するなどの方法で結合される。
【００４５】
次に、テクスチャ結合部９は、上記結合後の画像の中で、結合前の各画像が占める矩形領域と、同各画像のＩＤを領域情報として領域メモリ５に記録する（ステップＳＴ９２）。
図２４は、図２３のテクスチャ画像から生成された領域情報を示している。
【００４６】
最後に、テクスチャ結合部９は、ポリゴン情報のテクスチャＩＤをそのまま領域ＩＤとして置き換え、レンダリング部３に出力する（ステップＳＴ９３）。
なお、ポリゴンの頂点座標は２次元としているが、例えば、３次元以上の座標とし、ステップＳＴ９３で出力画像を定義する２次元空間上に投影変換して出力するなどとしてもよい。
【００４７】
以上説明したように、実施の形態２のテクスチャマッピング装置によれば、画像と一意のＩＤから構成されるテクスチャ画像を複数個と、複数個のテクスチャ画像を特定するテクスチャＩＤと複数の頂点情報とから構成されるポリゴン情報を入力とし、複数個のテクスチャ画像から一つのテクスチャ画像と複数の領域情報を生成すると共に、領域を特定する領域ＩＤと複数の頂点情報からなる新たなポリゴン情報を生成するテクスチャ結合部と、出力画像上で新たなポリゴン情報が表すポリゴン内部にある全ピクセルに対し、位置座標とテクスチャ座標、領域ＩＤからなるピクセル情報を生成するラスタライズ部と、ピクセル情報の領域ＩＤで特定される領域情報を用いて、ピクセル情報のテクスチャ座標を加工すると共に、加工されたテクスチャ座標を用いてテクスチャ結合部で生成されたテクスチャ画像からピクセル値を取得し、かつ、ピクセル情報の位置座標が指す出力画像上のピクセルのピクセル値を、取得したピクセル値を用いて決定するテクスチャマッピング部と、テクスチャマッピング部の出力を画像表示装置に出力する出力部とを備えたので、繰り返しマッピングされるテクスチャ画像を、それぞれ一つのテクスチャ画像として用意するようなシステムであっても、テクスチャ画像の中で任意の幅と高さを持つ矩形領域をポリゴンに繰り返してマッピングすることができる。
【００４８】
また、実施の形態２のテクスチャマッピング装置によれば、テクスチャ結合部は、複数のテクスチャ画像を結合し、結合前の各テクスチャ画像が結合後のテクスチャ画像内で占める領域を、それぞれ領域情報として生成するようにしたので、容易かつ確実にポリゴン情報を生成することができる。
【００４９】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【００５０】
１  領域情報生成部、２  ポリゴン情報生成部、３  レンダリング部、４  出力部、５  領域メモリ、６  テクスチャメモリ、７  出力画像メモリ、８  画像表示装置、９  テクスチャ結合部、３１  ラスタライズ部、３２  テクスチャマッピング部、３１１  テクスチャ座標補間部。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
テクスチャ画像の一部の領域を表す領域情報を複数生成する領域情報生成部と、
出力画像上における頂点の座標および頂点に対応付けられるテクスチャ座標からなる頂点情報を複数個と、前記複数の領域情報の一つを特定する領域ＩＤとから構成されるポリゴン情報を生成するポリゴン情報生成部と、
前記出力画像上で前記ポリゴン情報が表すポリゴン内部にある全ピクセルに対し、位置座標とテクスチャ座標、領域ＩＤからなるピクセル情報を生成するラスタライズ部と、
前記ピクセル情報の領域ＩＤで特定される領域情報を用いて、当該ピクセル情報のテクスチャ座標を加工すると共に、当該加工されたテクスチャ座標を用いて前記テクスチャ画像からピクセル値を取得し、かつ、前記ピクセル情報の位置座標が指す出力画像上のピクセルのピクセル値を、前記取得したピクセル値を用いて決定するテクスチャマッピング部と、
前記テクスチャマッピング部の出力を画像表示装置に出力する出力部とを備え、
前記ポリゴン情報生成部は、前記ポリゴン情報を構成する前記領域ＩＤを前記ポリゴン情報の構成要素として直接保持せず、前記テクスチャマッピング部に入力されたピクセル情報から当該領域ＩＤを復元できるよう頂点情報を加工することで、前記領域ＩＤを頂点情報の一部として保持させる
ことを特徴とするテクスチャマッピング装置。
【請求項２】
ポリゴン情報生成部は、３次元空間に定義された位置座標を持つポリゴン情報を、描画時の仮想視点の位置に応じて投影変換することで、頂点位置を出力画像上の２次元座標に投影した後に、ラスタライズ部に出力することを特徴とする請求項１記載のテクスチャマッピング装置。
【請求項３】
ラスタライズ部は、出力画像上でポリゴン情報が表すポリゴン内部にある全ピクセルに対して、前記ポリゴン情報を構成する各頂点の位置とピクセルの位置関係に応じ、各頂点のテクスチャ座標を補間したテクスチャ座標を算出し、前記ピクセルの位置座標と前記ポリゴン情報が有する領域ＩＤと共にピクセル情報として出力することを特徴とする請求項１記載のテクスチャマッピング装置。
【請求項４】
テクスチャマッピング部は、ラスタライズ部が出力したピクセル情報のテクスチャ座標を、前記ピクセル情報の領域ＩＤに特定される領域情報が表す矩形内に収まるよう加工し、当該加工したテクスチャ座標を用いてテクスチャ画像からピクセル値を取得することを特徴とする請求項１記載のテクスチャマッピング装置。
【請求項５】
テクスチャマッピング部は、入力されたピクセル情報から、ポリゴン情報の領域ＩＤのインデックスを復元し、復元したインデックスを用いて領域情報を取得することを特徴とする請求項１記載のテクスチャマッピング装置。
【請求項６】
画像と一意のＩＤから構成されるテクスチャ画像を複数個と、当該複数個のテクスチャ画像を特定するテクスチャＩＤと複数の頂点情報とから構成されるポリゴン情報を入力とし、前記複数個のテクスチャ画像から一つのテクスチャ画像と複数の領域情報を生成すると共に、領域を特定する領域ＩＤと複数の頂点情報からなる新たなポリゴン情報を生成するテクスチャ結合部と、
出力画像上で前記新たなポリゴン情報が表すポリゴン内部にある全ピクセルに対し、位置座標とテクスチャ座標、領域ＩＤからなるピクセル情報を生成するラスタライズ部と、
前記ピクセル情報の領域ＩＤで特定される領域情報を用いて、当該ピクセル情報のテクスチャ座標を加工すると共に、当該加工されたテクスチャ座標を用いて前記テクスチャ結合部で生成されたテクスチャ画像からピクセル値を取得し、かつ、前記ピクセル情報の位置座標が指す出力画像上のピクセルのピクセル値を、前記取得したピクセル値を用いて決定するテクスチャマッピング部と、
前記テクスチャマッピング部の出力を画像表示装置に出力する出力部
とを備えたことを特徴とするテクスチャマッピング装置。
【請求項７】
テクスチャ結合部は、複数のテクスチャ画像を結合し、結合前の各テクスチャ画像が結合後のテクスチャ画像内で占める領域を、それぞれ領域情報として生成することを特徴とする請求項６記載のテクスチャマッピング装置。
【国際調査報告】
2012137243.tif 000027
2012137243.tif 000028