(57)【要約】  複数のテクスチャを結合してテクスチャアトラス（４１）を生成すると共に、テクスチャアトラス（４１）における描画用テクスチャの配置情報（３２）を生成するテクスチャアトラス生成部（１０）と、出力画像（４２）におけるポリゴンの頂点座標と、描画用テクスチャに基づいてポリゴンに描画される画像において頂点座標に対応する頂点テクスチャ座標とが設定されたポリゴン情報（３３）を記憶するポリゴン情報記憶部（３３０）と、出力画像（４２）においてポリゴンが塗りつぶすピクセルの位置を検出し、描画画像においてピクセルの位置に対応するピクセル対応テクスチャ座標を算出するピクセル座標算出部（２２）と、ピクセル対応テクスチャ座標をテクスチャアトラス（４１）上の描画用テクスチャの範囲内の座標に変換する座標変換部（２３）とを備える。
2016151790.tif 000002
【特許請求の範囲】
【請求項１】
多角形領域であるポリゴンへの描画に用いる描画用テクスチャを含む複数のテクスチャを結合してテクスチャアトラスを生成すると共に、前記テクスチャアトラスにおける前記描画用テクスチャの配置を示す配置情報を生成するテクスチャアトラス生成部と、
複数のピクセルからなる出力画像における前記ポリゴンの頂点の位置を示す頂点座標と、前記描画用テクスチャに基づいて前記ポリゴンに描画される画像における前記頂点座標に対応する位置を示す頂点テクスチャ座標とが設定されたポリゴン情報を記憶するポリゴン情報記憶部と、
前記ポリゴン情報に基づいて、前記出力画像において前記ポリゴンが対応するピクセルを表すピクセル座標を検出し、前記ポリゴンに描画される画像において前記ピクセル座標に対応する座標をピクセル対応テクスチャ座標として算出するピクセル座標算出部と、
前記配置情報に基づいて、前記ピクセル対応テクスチャ座標を、前記テクスチャアトラスに結合された前記描画用テクスチャを含む範囲内の座標に変換し、変換した座標を変換座標として出力する座標変換部と
を備えるテクスチャマッピング装置。
【請求項２】
前記テクスチャマッピング装置は、
前記座標変換部により出力された前記変換座標に基づいて、前記テクスチャアトラスから色情報を抽出し、抽出した色情報に基づいて前記ピクセル座標により表されるピクセルを塗りつぶすテクスチャフェッチ部を備える請求項１に記載のテクスチャマッピング装置。
【請求項３】
前記テクスチャアトラス生成部は、
前記複数のテクスチャの各テクスチャを拡張するテクスチャ拡張部と、
前記テクスチャ拡張部により拡張されたテクスチャを結合して前記テクスチャアトラスを生成すると共に、前記テクスチャアトラスにおける前記描画用テクスチャの配置を表す配置情報を生成するテクスチャ配置部と
を備え、
前記座標変換部は、
前記配置情報に基づいて、前記ピクセル対応テクスチャ座標を、前記描画用テクスチャを含む範囲であって前記描画用テクスチャが拡張された範囲内の座標である前記変換座標に変換する請求項２に記載のテクスチャマッピング装置。
【請求項４】
前記テクスチャ拡張部は、
前記複数のテクスチャの各テクスチャをＸ軸方向及びＹ軸方向に１ピクセルずつ拡張する請求項３に記載のテクスチャマッピング装置。
【請求項５】
前記テクスチャフェッチ部は、
前記変換座標が示す位置のピクセルの周囲の複数のピクセルの色を補間することにより、前記色情報を抽出する請求項３または４に記載のテクスチャマッピング装置。
【請求項６】
前記ポリゴン情報には、前記描画用テクスチャをリピートすることにより前記ポリゴンに描画される画像における前記頂点テクスチャ座標が設定される請求項１から５のいずれか１項に記載のテクスチャマッピング装置。
【請求項７】
前記ポリゴン情報には、前記描画用テクスチャをクランプすることにより前記ポリゴンに描画される画像における前記頂点テクスチャ座標が設定される請求項１から５のいずれか１項に記載のテクスチャマッピング装置。
【請求項８】
前記座標変換部は、テクスチャラップモードに応じた変換式を用いて、前記ピクセル対応テクスチャ座標を前記変換座標に変換する請求項１から７のいずれか１項に記載のテクスチャマッピング装置。
【請求項９】
前記テクスチャフェッチ部は、
前記変換座標が示す位置のピクセルの色を表す情報を前記色情報として抽出する請求項２に記載のテクスチャマッピング装置。
【請求項１０】
多角形領域であるポリゴンに描画用テクスチャを用いて描画するテクスチャマッピング装置のテクスチャマッピング方法において、
前記テクスチャマッピング装置は、複数のピクセルからなる出力画像における前記ポリゴンの頂点の位置を示す頂点座標と、前記描画用テクスチャに基づいて前記ポリゴンに描画される画像における前記頂点座標に対応する位置を示す頂点テクスチャ座標とが設定されたポリゴン情報を記憶するポリゴン情報記憶部を有し、
テクスチャアトラス生成部は、前記描画用テクスチャを含む複数のテクスチャを結合してテクスチャアトラスを生成すると共に、前記テクスチャアトラスにおける前記描画用テクスチャの配置を示す配置情報を生成し、
ピクセル座標算出部は、前記ポリゴン情報に基づいて、前記出力画像において前記ポリゴンが対応するピクセルを表すピクセル座標を検出し、前記ポリゴンに描画される画像において前記ピクセル座標に対応する座標をピクセル対応テクスチャ座標として算出し、
座標変換部は、前記配置情報に基づいて、前記ピクセル対応テクスチャ座標を、前記テクスチャアトラスの座標であって前記テクスチャアトラスに結合された前記描画用テクスチャを含む範囲内の座標に変換し、変換した座標を変換座標として出力するテクスチャマッピング方法。
【請求項１１】
多角形領域であるポリゴンに描画用テクスチャを用いて描画するテクスチャマッピング装置のプログラムにおいて、
前記テクスチャマッピング装置は、複数のピクセルからなる出力画像における前記ポリゴンの頂点の位置を示す頂点座標と、前記描画用テクスチャに基づいて前記ポリゴンに描画される画像における前記頂点座標に対応する位置を示す頂点テクスチャ座標とが設定されたポリゴン情報を記憶するポリゴン情報記憶部を有し、
前記描画用テクスチャを含む複数のテクスチャを結合してテクスチャアトラスを生成すると共に、前記テクスチャアトラスにおける前記描画用テクスチャの配置を示す配置情報を生成するテクスチャアトラス生成処理と、
前記ポリゴン情報に基づいて、前記出力画像において前記ポリゴンが対応するピクセルを表すピクセル座標を検出し、前記ポリゴンに描画される画像において前記ピクセル座標に対応する座標をピクセル対応テクスチャ座標として算出するピクセル座標算出処理と、
前記配置情報に基づいて、前記ピクセル対応テクスチャ座標を、前記テクスチャアトラスの座標であって前記テクスチャアトラスに結合された前記描画用テクスチャを含む範囲内の座標に変換し、変換した座標を変換座標として出力する座標変換処理と
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テクスチャマッピング装置、テクスチャマッピング方法及びプログラムに関する。
【背景技術】
【０００２】
コンピュータグラフィックスにおいて、ポリゴンが描画内容のプリミティブとして多用されている。また、ポリゴンの表面材質を表現するために、テクスチャと呼ばれる２次元画像をポリゴンにマッピングして描画する技術が一般的である。
ポリゴンにテクスチャをマッピングする場合、使用するメモリ量を小さくするため、サイズの小さいテクスチャを繰り返したり、テクスチャの端を引き延ばしたりしてマッピングする技術がある。これらの技術は、一般的なＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）において、テクスチャラップモードと呼ばれ、繰り返してマッピングするモードをリピート、端を引き延ばしてマッピングするモードをクランプと呼ぶ。【０００３】
ポリゴンにテクスチャをマッピングする場合、マッピングするテクスチャを指定してからポリゴンを描画することになる。しかし、テクスチャを指定する処理は、一般的に時間がかかることが知られており、複数のポリゴンにそれぞれ異なるテクスチャをマッピングすると、処理時間が長くなる。そのため、あらかじめ複数のテクスチャを結合して１つのテクスチャにしておき、その部分ごとにポリゴンにマッピングすることで高速に描画できることが知られている。複数のテクスチャを結合して１つのテクスチャにしたものをテクスチャアトラスと呼ぶ。特許文献１では、テクスチャアトラスを高速かつ低負荷で生成する方法が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−２０６０９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、一般的なＧＰＵは、テクスチャのリピートあるいはクランプをする場合、テクスチャの全体をリピートあるいはクランプする。よって、リピートあるいはクランプされるテクスチャは、テクスチャアトラスにできないという課題がある。【０００６】
本発明は、テクスチャアトラスの一部分をリピートあるいはクランプし、ポリゴンにテクスチャマッピングすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係るテクスチャマッピング装置は、
多角形領域であるポリゴンへの描画に用いる描画用テクスチャを含む複数のテクスチャを結合してテクスチャアトラスを生成すると共に、前記テクスチャアトラスにおける前記描画用テクスチャの配置を示す配置情報を生成するテクスチャアトラス生成部と、
複数のピクセルからなる出力画像における前記ポリゴンの頂点の位置を示す頂点座標と、前記描画用テクスチャに基づいて前記ポリゴンに描画される画像における前記頂点座標に対応する位置を示す頂点テクスチャ座標とが設定されたポリゴン情報を記憶するポリゴン情報記憶部と、
前記ポリゴン情報に基づいて、前記出力画像において前記ポリゴンが対応するピクセルを表すピクセル座標を検出し、前記ポリゴンに描画される画像において前記ピクセル座標に対応する座標をピクセル対応テクスチャ座標として算出するピクセル座標算出部と、
前記配置情報に基づいて、前記ピクセル対応テクスチャ座標を、前記テクスチャアトラスに結合された前記描画用テクスチャを含む範囲内の座標に変換し、変換した座標を変換座標として出力する座標変換部とを備える。
【発明の効果】
【０００８】
本発明に係るテクスチャマッピング装置では、ポリゴン情報記憶部が、出力画像におけるポリゴンの頂点の位置を示す頂点座標と、ポリゴンに描画される画像における頂点座標に対応する位置を表す頂点テクスチャ座標とが設定されたポリゴン情報を記憶する。また、ピクセル座標算出部が、ポリゴンが対応するピクセルを表すピクセル座標を検出し、ポリゴンに描画される画像においてピクセル座標に対応する座標をピクセル対応テクスチャ座標として算出する。また、座標変換部が、ピクセル対応テクスチャ座標を、テクスチャアトラスの座標のうち描画用テクスチャを含む範囲内の座標に変換し、変換した座標を変換座標として出力する。したがって、描画用テクスチャをリピートあるいはクランプすることによりポリゴンに描画される画像上の座標をテクスチャアトラスの座標に変換することができる。よって、テクスチャマッピング装置によれば、テクスチャアトラスに結合された描画用テクスチャをリピートあるいはクランプして、ポリゴンにテクスチャマッピングすることができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係るテクスチャマッピング装置のブロック構成図。
【図２】実施の形態１に係るテクスチャマッピング装置のハードウェア構成図。
【図３】実施の形態１に係るテクスチャマッピング方法及びテクスチャマッピング処理を示すフロー図。
【図４】実施の形態１に係るテクスチャアトラス生成処理を示すフロー図。
【図５】実施の形態１に係るテクスチャの一例を示す図。
【図６】実施の形態１に係る拡張テクスチャの一例を示す図。
【図７】実施の形態１に係るテクスチャアトラスの一例を示す図。
【図８】実施の形態１に係る配置情報の一例を示す図。
【図９】実施の形態１に係る描画処理を示すフロー図。
【図１０】実施の形態１に係るポリゴン情報の一例を示す図。
【図１１】実施の形態１に係る出力画像の中で図１０に示すポリゴン情報により塗りつぶされるピクセルの範囲を示す図。
【図１２】実施の形態１に係る出力画像上のピクセルのフラグメント情報を算出する手順の例を示す図。
【図１３】実施の形態１において図１０のポリゴン情報に基づく描画結果を示す図。
【図１４】実施の形態１において図１０のポリゴン情報のテクスチャラップモードがクランプの場合の描画結果の例を示す図。
【図１５】実施の形態２に係るテクスチャマッピング装置のブロック構成図。
【図１６】実施の形態２に係るテクスチャアトラスの一例を示す図。
【図１７】実施の形態２に係る配置情報の一例を示す図。
【図１８】実施の形態２において図１０のポリゴン情報に基づく描画結果を示す図。
【図１９】実施の形態２において図１０のポリゴン情報のテクスチャラップモードがクランプの場合の描画結果の例を示す図。
【発明を実施するための形態】
【００１０】
実施の形態１．
＊＊＊構成の説明＊＊＊
図１は、本実施の形態に係るテクスチャマッピング装置１００のブロック構成を示す図である。
図１に示すように、テクスチャマッピング装置１００は、テクスチャアトラス生成部１０、描画部２０、メインメモリ３０、ＶＲＡＭ（Ｖｉｄｅｏ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４０、出力部５０を備える。
【００１１】
テクスチャアトラス生成部１０は、テクスチャ拡張部１１、テクスチャ配置部１２を備える。
描画部２０は、頂点処理部２１、ピクセル座標算出部２２、座標変換部２３、テクスチャフェッチ部２４を備える。
【００１２】
メインメモリ３０には、テクスチャ群３１、配置情報３２、ポリゴン情報３３が記憶される。テクスチャ群３１には、複数のテクスチャ３１１が含まれる。
ＶＲＡＭ４０には、テクスチャアトラス４１、出力画像４２が記憶される。
なお、テクスチャはテクスチャ画像とも称される。
【００１３】
図５は、テクスチャ３１１の一例を示す図である。図７は、テクスチャアトラス４１の一例を示す図である。図８は、配置情報３２の一例を示す図である。
図１，５，７，８を用いて、テクスチャアトラス生成部１０について簡単に説明する。
テクスチャアトラス生成部１０は、多角形領域であるポリゴンへの描画に用いる描画用テクスチャ３１１０を含む複数のテクスチャ３１１を結合してテクスチャアトラス４１を生成する。また、テクスチャアトラス生成部１０は、テクスチャアトラス４１における描画用テクスチャ３１１０の配置を表す配置情報３２を生成する。配置情報３２はテクスチャ配置情報とも称される。
テクスチャアトラス生成部１０は、メインメモリ３０に格納されたテクスチャ群３１を取得し、テクスチャ群３１に含まれる複数のテクスチャ３１１を結合し、テクスチャアトラス４１を生成する。
【００１４】
テクスチャ拡張部１１は、入力された複数のテクスチャの各テクスチャ３１１を拡張する。テクスチャ拡張部１１は、複数のテクスチャの各テクスチャ３１１を縦方向及び横方向に１ピクセルずつ拡張する。すなわち、テクスチャ拡張部１１は、複数のテクスチャの各テクスチャ３１１をＸ軸方向及びＹ軸方向に１ピクセルずつ拡張する。
【００１５】
テクスチャ配置部１２は、テクスチャ拡張部１１により拡張されたテクスチャ３１１を結合してテクスチャアトラス４１を生成する。テクスチャ配置部１２は、テクスチャ拡張部１１により拡張された複数のテクスチャ３１１の各々を結合し、テクスチャアトラス４１を生成する。テクスチャアトラス４１内において拡張されたテクスチャ３１１の範囲は、テクスチャアトラス４１に結合されたテクスチャ３１１を含む範囲である。
そして、テクスチャ配置部１２は、生成したテクスチャアトラス４１をＶＲＡＭ４０に格納する。
また、テクスチャ配置部１２は、テクスチャアトラス４１における描画用テクスチャ３１１０の配置を示す配置情報３２を生成する。テクスチャ配置部１２は、テクスチャアトラス４１内における各テクスチャ３１１の配置を表す配置情報３２をメインメモリ３０に格納する。
【００１６】
描画部２０は、メインメモリ３０から、ポリゴン情報３３と、配置情報３２のうちポリゴンにマッピングするテクスチャ３１１、すなわち描画用テクスチャ３１１０の配置情報３２ｄとを取得する。また、描画部２０は、ＶＲＡＭ４０からテクスチャアトラス４１を取得する。そして、描画部２０は、テクスチャアトラス４１の一部である描画用テクスチャ３１１０をリピートまたはクランプによりポリゴンにマッピングして描画する。
【００１７】
頂点処理部２１は、メインメモリ３０から、ポリゴン情報３３と、配置情報３２のうちポリゴンにマッピングする描画用テクスチャ３１１０の配置情報３２とを取得する。
ポリゴン情報３３は、メインメモリ３０が有するポリゴン情報記憶部３３０に記憶される。
【００１８】
図１０は、ポリゴン情報３３の一例を示す図である。図１０を用いて、ポリゴン情報３３について簡単に説明する。
ポリゴン情報記憶部３３０は、複数のピクセルからなる出力画像４２におけるポリゴンの頂点の位置を示す頂点座標Ｖ１と、描画用テクスチャ３１１０に基づいてポリゴンに描画される画像である描画画像３１１１において、頂点座標Ｖ１に対応する位置を示す頂点テクスチャ座標Ｔ１とが設定されたポリゴン情報３３を記憶する。
ここで、ポリゴンに描画される画像である描画画像３１１１とは、描画用テクスチャ３１１０に基づいてポリゴンに描画されると想定される仮想的な画像である。すなわち、頂点テクスチャ座標Ｔ１は、描画用テクスチャ３１１０に基づいてポリゴンに描画すると想定される描画画像３１１１上の頂点座標である。
ポリゴン情報３３には、テクスチャラップモードとして、リピートあるいはクランプが設定される。
テクスチャラップモードがリピートの場合、ポリゴン情報３３には、描画用テクスチャ３１１０をリピートすることによりポリゴンに描画すると想定される描画画像３１１１における頂点テクスチャ座標Ｔ１が設定される。
テクスチャラップモードがクランプの場合、ポリゴン情報３３には、描画用テクスチャ３１１０をクランプすることによりポリゴンに描画すると想定される描画画像３１１１における頂点テクスチャ座標Ｔ１が設定される。
【００１９】
ピクセル座標算出部２２は、ポリゴン情報３３に基づいて、出力画像４２においてポリゴンが対応するピクセルを表すピクセル座標Ｖ２を検出する。ピクセル座標算出部２２は、描画画像３１１１において、検出したピクセルを表すピクセル座標Ｖ２に対応する座標をピクセル対応テクスチャ座標Ｔ２として算出する。ピクセル座標算出部２２により算出されるピクセル対応テクスチャ座標Ｔ２と、ピクセル座標Ｖ２とをフラグメント情報と称する。
【００２０】
座標変換部２３は、配置情報３２ｄに基づいて、ピクセル対応テクスチャ座標Ｔ２を、テクスチャアトラス４１の座標であってテクスチャアトラス４１に結合された描画用テクスチャ３１１０を含む範囲内の座標に変換し、変換した座標を変換座標Ｔ２１として出力する。座標変換部２３は、テクスチャ座標変換部とも称される。
座標変換部２３は、ピクセル対応テクスチャ座標Ｔ２を、描画用テクスチャ３１１０が拡張された範囲内の変換座標Ｔ２１に変換する。
座標変換部２３は、テクスチャラップモードに応じた変換式を用いて、ピクセル対応テクスチャ座標Ｔ２を変換座標Ｔ２１に変換する。
【００２１】
テクスチャフェッチ部２４は、座標変換部２３により出力された変換座標Ｔ２１に基づいて、テクスチャアトラス４１から色情報４１１を抽出し、抽出した色情報４１１に基づいてピクセル座標Ｖ２により示されるピクセルを塗りつぶす。テクスチャフェッチ部２４は、変換座標Ｔ２１が示す位置のピクセルの周囲の複数のピクセルの色を補間することにより、色情報４１１を抽出する。
テクスチャフェッチ部２４は、色情報４１１に基づいてピクセルを塗りつぶすことにより、出力画像４２を描画する。テクスチャフェッチ部２４は、描画した出力画像４２をＶＲＡＭ４０に出力する。
【００２２】
出力部５０は、ＶＲＡＭ４０内の出力画像４２をモニタ等の映像表示装置に出力する。
【００２３】
図２を用いて、本実施の形態に係るテクスチャマッピング装置１００のハードウェア構成の一例について説明する。
【００２４】
テクスチャマッピング装置１００はコンピュータである。
テクスチャマッピング装置１００は、プロセッサ９０１、補助記憶装置９０２、メモリ９０３、通信装置９０４、入力インタフェース９０５、ディスプレイインタフェース９０６といったハードウェアを備える。
プロセッサ９０１は、信号線９１０を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
入力インタフェース９０５は、入力装置９０７に接続されている。
ディスプレイインタフェース９０６は、ディスプレイ９０８に接続されている。
【００２５】
プロセッサ９０１は、プロセッシングを行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。
プロセッサ９０１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
補助記憶装置９０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）である。
メモリ９０３は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
通信装置９０４は、データを受信するレシーバー９０４１及びデータを送信するトランスミッター９０４２を含む。
通信装置９０４は、例えば、通信チップ又はＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）である。
入力インタフェース９０５は、入力装置９０７のケーブル９１１が接続されるポートである。
入力インタフェース９０５は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）端子である。
ディスプレイインタフェース９０６は、ディスプレイ９０８のケーブル９１２が接続されるポートである。
ディスプレイインタフェース９０６は、例えば、ＵＳＢ端子又はＨＤＭＩ（登録商標）（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）端子である。
入力装置９０７は、例えば、マウス、キーボード又はタッチパネルである。
ディスプレイ９０８は、例えば、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）である。
【００２６】
補助記憶装置９０２には、図１に示すテクスチャ拡張部１１、テクスチャ配置部１２、頂点処理部２１、ピクセル座標算出部２２、テクスチャ座標変換部２３、テクスチャフェッチ部２４の機能を実現するプログラムが記憶されている。以下、テクスチャ拡張部１１、テクスチャ配置部１２、頂点処理部２１、ピクセル座標算出部２２、テクスチャ座標変換部２３、テクスチャフェッチ部２４をまとめて「部」と表記する。
【００２７】
上述した「部」の機能を実現するプログラムは、テクスチャマッピングプログラムとも称される。「部」の機能を実現するプログラムは、１つのプログラムであってもよいし、複数のプログラムから構成されていてもよい。
このプログラムは、メモリ９０３にロードされ、プロセッサ９０１に読み込まれ、プロセッサ９０１によって実行される。
【００２８】
更に、補助記憶装置９０２には、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）も記憶されている。
そして、ＯＳの少なくとも一部がメモリ９０３にロードされ、プロセッサ９０１はＯＳを実行しながら、「部」の機能を実現するプログラムを実行する。
図２では、１つのプロセッサ９０１が図示されているが、テクスチャマッピング装置１００が複数のプロセッサ９０１を備えていてもよい。
そして、複数のプロセッサ９０１が「部」の機能を実現するプログラムを連携して実行してもよい。
また、「部」の処理の結果を示す情報やデータや信号値や変数値が、メモリ９０３、補助記憶装置９０２、又は、プロセッサ９０１内のレジスタ又はキャッシュメモリにファイルとして記憶される。
【００２９】
「部」を「サーキットリー」で提供してもよい。
また、「部」を「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。また、「処理」を「回路」又は「工程」又は「手順」又は「部」に読み替えてもよい。
「回路」及び「サーキットリー」は、プロセッサ９０１だけでなく、ロジックＩＣ又はＧＡ（Ｇａｔｅ  Ａｒｒａｙ）又はＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）又はＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）といった他の種類の処理回路をも包含する概念である。
【００３０】
なお、プログラムプロダクトと称されるものは、「部」として説明している機能を実現するプログラムが記録された記憶媒体、記憶装置などであり、見た目の形式に関わらず、コンピュータ読み取り可能なプログラムをロードしているものである。
【００３１】
＊＊＊動作の説明＊＊＊
図３を用いて、本実施の形態に係るテクスチャマッピング装置１００のテクスチャマッピング方法及びテクスチャマッピング処理Ｓ１００について説明する。
図３に示すように、テクスチャマッピング処理Ｓ１００は、テクスチャアトラス生成処理Ｓ１１０、描画処理Ｓ１２０、出力処理Ｓ１３０を備える。
【００３２】
＜テクスチャアトラス生成処理Ｓ１１０＞
まず、図４を用いて、本実施の形態に係るテクスチャマッピング装置１００のテクスチャアトラス生成処理Ｓ１１０について説明する。
テクスチャアトラス生成部１０は、描画用テクスチャ３１１０を含む複数のテクスチャ３１１を結合してテクスチャアトラス４１を生成する。また、テクスチャアトラス生成部１０は、テクスチャアトラス４１における描画用テクスチャ３１１０の配置を表す配置情報３２を生成するテクスチャアトラス生成処理Ｓ１１０を実行する。
【００３３】
図５では、２×２ピクセルの４つのテクスチャ３１１ａ，３１１ｂ，３１１ｃ，３１１ｄを示している。ここで、テクスチャ３１１ｄがポリゴンの描画に用いられる描画用テクスチャ３１１０であるものとする。なお、テクスチャ３１１のサイズや数は任意である。また、以下の説明では、画像の右方向をＸ軸正方向、下方向をＹ軸正方向とする。
例えば、テクスチャ群３１には、４つのテクスチャ３１１ａ，３１１ｂ，３１１ｃ，３１１ｄが含まれるものとする。
【００３４】
＜テクスチャ拡張処理Ｓ１１１＞
テクスチャ拡張部１１は、テクスチャ群３１から４つのテクスチャ３１１ａ，３１１ｂ，３１１ｃ，３１１ｄを取得する。
テクスチャ拡張部１１は、取得した４つのテクスチャ３１１ａ，３１１ｂ，３１１ｃ，３１１ｄの各々をＸＹ軸正方向にそれぞれ１ピクセルずつ拡張する。このとき、テクスチャ拡張部１１は、拡張するピクセルに対し、画像内において反対側の端にあるピクセルの色を与える。ここで、テクスチャ拡張部１１により拡張されたテクスチャ３１１を拡張テクスチャ３１２と称するものとする。
図６に、テクスチャ拡張部１１により拡張された拡張テクスチャ３１２ａ，３１２ｂ，３１２ｃ，３１２ｄを示す。
【００３５】
＜テクスチャ配置処理Ｓ１１２＞
テクスチャ配置処理Ｓ１１２は、配置処理Ｓ１１２１と配置情報生成処理Ｓ１１２２とを有する。
【００３６】
＜配置処理Ｓ１１２１＞
テクスチャ配置部１２は、拡張テクスチャ３１２ａ，３１２ｂ，３１２ｃ，３１２ｄを結合し、テクスチャアトラス４１を生成する。このとき、テクスチャアトラス４１に拡張テクスチャ３１２を配置する方法は任意である。テクスチャアトラス４１に拡張テクスチャ３１２を配置する方法の例として、２次元のビンパッキング問題を解くことなどの方法がある。
図７は、テクスチャ配置部１２により生成されたテクスチャアトラス４１の例である。図７に示すように、テクスチャ配置部１２は、拡張テクスチャ３１２ａ，３１２ｂ，３１２ｃ，３１２ｄが６×６ピクセルの画像となるように結合し、テクスチャアトラス４１を生成する。
テクスチャ配置部１２は、生成したテクスチャアトラス４１をＶＲＡＭ４０に格納する。
【００３７】
＜配置情報生成処理Ｓ１１２２＞
テクスチャ配置部１２は、各テクスチャ３１１の配置情報を表した配置情報３２を生成する。テクスチャ配置部１２は、生成した配置情報３２をメインメモリ３０に格納する。
【００３８】
図８は、本実施の形態に係る配置情報３２の構成の一例を示す図である。
配置情報３２には、テクスチャ３１１の各々に対して、配置情報（ｘ，ｙ，ｗｉｄｔｈ，ｈｅｉｇｈｔ）が設定される。配置情報３２は、少なくともテクスチャ３１１が格納された位置（ｘ、ｙ）と、テクスチャ３１１がテクスチャ拡張部１１によって拡大される前の幅と高さ（ｗｉｄｔｈ，ｈｅｉｇｈｔ）で表される。
具体的には、テクスチャ３１１ｄ、すなわち描画用テクスチャ３１１０の配置情報３２は、（３，３，２，２）である。つまり、テクスチャアトラス４１において、テクスチャ３１１ｄの位置は（３，３）であり、拡張される前のテクスチャ３１１ｄの幅と高さは（２，２）であることを示している。
【００３９】
＜描画処理Ｓ１２０＞
次に、図９を用いて、本実施の形態に係るテクスチャマッピング装置１００の描画処理Ｓ１２０について説明する。
【００４０】
＜頂点処理Ｓ１２１＞
頂点処理部２１は、メインメモリ３０のポリゴン情報記憶部３３０から、描画するポリゴン情報３３を取得する。
【００４１】
図１０は、本実施の形態に係るポリゴン情報３３の構成の一例を示す図である。
図１０に示すように、ポリゴン情報３３は、少なくともポリゴンにマッピングするテクスチャ３１１を指定する情報と、ポリゴンの各頂点情報と、テクスチャラップモードとから構成される。
【００４２】
具体的には、描画に用いる描画用テクスチャ３１１０を指定する情報には、テクスチャ３１１ｄを識別する識別子である３１１ｄが設定される。
ポリゴンの頂点情報には、少なくともポリゴンを構成する各頂点の位置を表す頂点座標Ｖ１と、頂点座標Ｖ１に対応づけるテクスチャ３１１ｄの位置を表す頂点テクスチャ座標Ｔ１とが設定される。
テクスチャラップモードは、リピートまたはクランプのいずれかを示す情報である。
【００４３】
テクスチャラップモードがリピートの場合、ポリゴンには、テクスチャ３１１ｄをリピートすることにより描画されると想定される描画画像３１１１が描画される。また、テクスチャラップモードがクランプの場合、ポリゴンには、テクスチャ３１１ｄをクランプすることにより描画されると想定される描画画像３１１１が描画される。
すなわち、描画画像３１１１とは、描画用テクスチャ３１１０を用いてポリゴンに描画されると想定される画像を意味する。
【００４４】
図１０に示すように、２つのポリゴンは１６×１６ピクセルで表され、そのポリゴンに描画すると想定される描画画像３１１１は頂点テクスチャ座標Ｔ１により４×４ピクセルで表されている。テクスチャラップモードがリピートの場合、４×４ピクセルで表された描画画像３１１１とは、図５のテクスチャ３１１ｄを縦横２つずつ、合計４つ並べた画像と仮定できる。
図１０に示すポリゴン情報３３は、１６×１６ピクセルのポリゴンに、４×４ピクセルで表された仮想的な描画画像３１１１を描写することを意味している。
【００４５】
図１０のポリゴン情報３３は、３角形ポリゴン２つで矩形を構成するポリゴン情報を示している。なお、ポリゴンの頂点座標は、３次元以上でも良い。
【００４６】
頂点処理部２１は、取得したポリゴン情報３３に含まれる描画用テクスチャ３１１０を指定する情報に基づいて、メインメモリ３０に格納された配置情報３２のうち、ポリゴン情報３３が示すテクスチャ３１１ｄに対応する配置情報３２ｄを取得する。
図１０のポリゴン情報３３を使用する場合、頂点処理部２１は、テクスチャ３１１ｄの配置情報３２ｄ（３，３，２，２）を取得する。
【００４７】
また、頂点処理部２１は、各頂点に対して任意の処理を実施する。例えば、ポリゴンの頂点位置に任意の行列を適用する処理、３次元のポリゴンの場合は頂点位置を投影変換する処理などが挙げられる。ここでは、頂点処理部２１はポリゴン情報３３をそのまま出力するものとする。
【００４８】
＜ピクセル座標算出処理Ｓ１２２＞
ピクセル座標算出部２２は、ポリゴン情報３３に基づいて、出力画像４２においてポリゴンが対応するピクセル、すなわち、ポリゴンが塗りつぶすピクセルを検出する。また、ピクセル座標算出部２２は、描画画像３１１１において、検出したピクセルの位置を表すピクセル座標Ｖ２に対応する座標をピクセル対応テクスチャ座標Ｔ２として算出するピクセル座標算出処理Ｓ１２２を実行する。ピクセル座標算出処理Ｓ１２２は、ラスタライズ処理とも称される。
【００４９】
ピクセル座標算出部２２は、ＶＲＡＭ４０に格納された出力画像４２の中で、ポリゴン情報３３のポリゴンが塗りつぶすピクセルを検出する。
図１１は、３２×２４ピクセルの出力画像４２の中で、図１０に示すポリゴン情報３３により塗りつぶされるピクセルの範囲を斜線領域で示している。
【００５０】
ピクセル座標算出部２２は、描画画像３１１１において、検出したピクセルのピクセル座標Ｖ２に対応する位置を表すピクセル対応テクスチャ座標Ｔ２を算出する。ピクセル座標Ｖ２は、例えば、ピクセルの中心を示す座標である。
ピクセル座標算出部２２は、ピクセル座標Ｖ２と、このピクセルに対応するピクセル対応テクスチャ座標Ｔ２とをフラグメント情報として算出する。
ピクセル座標算出部２２は、ピクセルの位置に応じて頂点情報を補間することにより、各ピクセルのフラグメント情報を算出する。補間方法は任意であるが、例えば、３角形ポリゴンの２辺上で頂点情報を線形補間し、さらに２辺間で線形補間することで算出される。
【００５１】
図１２に、出力画像４２上のピクセル座標Ｖ２（６．５，７．５）により表されるピクセルのフラグメント情報を算出する手順の例を図示する。
【００５２】
＜座標変換処理Ｓ１２３＞
座標変換部２３は、配置情報３２ｄに基づいて、ピクセル対応テクスチャ座標Ｔ２を、テクスチャアトラス４１の座標であってテクスチャアトラス４１に結合された描画用テクスチャ３１１０を含む範囲内の座標に変換する。描画用テクスチャ３１１０を含む範囲内とは、テクスチャアトラス４１における拡張テクスチャ３１２の範囲内である。すなわち、変換座標Ｔ２１がとり得る座標は、描画用テクスチャ３１１０に基づいて求められる描画用テクスチャ３１１０を含む範囲である拡張テクスチャ３１２ｄからはみ出さない範囲となる。そして、座標変換部２３は、変換した座標を変換座標Ｔ２１として出力する座標変換処理Ｓ１２３を実行する。
【００５３】
座標変換部２３は、ポリゴン情報が持つテクスチャラップモードに応じて、各フラグメント情報が持つピクセル対応テクスチャ座標Ｔ２を変換する。テクスチャラップモードがリピートの場合の変換式は、フラグメント情報が持つピクセル対応テクスチャ座標Ｔ２（ｘｔ，ｙｔ）、頂点処理部２１が読み出した配置情報３２ｄ（Ｘｔ，Ｙｔ，Ｗｔ，Ｈｔ）、変換座標Ｔ２１（ｘｔ’，ｙｔ’）とすると次の（１）（２）式となる。
ｘｔ’＝Ｘｔ＋ｆｒａｃ（（ｘｔ＋Ｗｔ−０．５）／Ｗｔ）＊Ｗｔ＋０．５    （１）
ｙｔ’＝Ｙｔ＋ｆｒａｃ（（ｙｔ＋Ｈｔ−０．５）／Ｈｔ）＊Ｈｔ＋０．５    （２）
（１）（２）式において、ｆｒａｃ（ａ）は、実数ａの小数部分を取り出す演算である。
【００５４】
一方、テクスチャラップモードがクランプの場合の変換式は、次の（３）（４）となる。
Ｘｔ’＝Ｘｔ＋ｍｉｎ（ｍａｘ（０．５，ｘｔ），Ｗｔ−０．５）    （３）
Ｙｔ’＝Ｙｔ＋ｍｉｎ（ｍａｘ（０．５，ｙｔ），Ｈｔ−０．５）    （４）
（３）（４）式において、ｍｉｎ（ａ，ｂ）およびｍａｘ（ａ，ｂ）は、実数ａ、ｂの小さい方および大きい方を選ぶ演算である。
【００５５】
上記の式により、座標変換部２３は、ピクセル対応テクスチャ座標Ｔ２を、テクスチャアトラス４１の座標であって描画用テクスチャ３１１０が拡張された範囲からはみ出さない範囲の変換座標Ｔ２１に変換する。図７に示すように、変換座標Ｔ２１は、テクスチャ３１１ｄが拡張された拡張テクスチャ３１２ｄの範囲からはみ出さない。
図７では、変換座標Ｔ２１の範囲は、拡張テクスチャ３１２ｄの周縁、すなわち他の拡張テクスチャ３１２との境界から、０．５ピクセル離れた範囲となっている。
このように、変換座標Ｔ２１の範囲を他の拡張テクスチャ３１２との境界から離れた範囲とするのは、ＧＰＵが色を補間するときに、隣接するテクスチャの色が混ざらないようにするためである。
【００５６】
なお、図５，６の例では、テクスチャ拡張部１１は、テクスチャをＸＹ方向それぞれ正方向に１ピクセルずつ拡張しているが、負方向に拡張してもよい。ただし、Ｘ軸負方向に拡張した場合は、座標変換部２３において、（１）式の代わりに次の（５）式を用いる。
ｘｔ’＝Ｘｔ＋ｆｒａｃ（（ｘｔ＋０．５）／Ｗｔ）＊Ｗｔ−０．５    （５）
同様に、Ｙ軸負方向に拡張した場合、（２）式の代わりに次の（６）式を用いる。
ｙｔ’＝Ｙｔ＋ｆｒａｃ（（ｙｔ＋０．５）／Ｈｔ）＊Ｈｔ−０．５    （６）
【００５７】
さらに、テクスチャ拡張部１１は、ＸＹ方向正負それぞれに１ピクセルずつ拡張しても良い。この場合、（１）（２）式と（５）（６）式のいずれを用いても良く、次の（７）（８）式を利用することもできる。
ｘｔ’＝Ｘｔ＋ｆｒａｃ（ｘｔ／Ｗｔ）＊Ｗｔ    （７）
ｙｔ’＝Ｙｔ＋ｆｒａｃ（ｙｔ／Ｈｔ）＊Ｈｔ    （８）
ＸＹ方向正負それぞれに１ピクセル拡張した場合、テクスチャアトラスのサイズが大きくなり、メモリ使用量が増加する反面、（７）（８）式を用いることで計算量を少なくできる。
また、拡張するピクセル数は、ＸＹ軸の正負方向それぞれ２ピクセル以上であってもよい。
【００５８】
＜テクスチャフェッチ処理Ｓ１２４＞
テクスチャフェッチ部２４は、座標変換部２３により出力された変換座標Ｔ２１に基づいて、テクスチャアトラス４１から色情報４１１を抽出し、抽出した色情報４１１に基づいてピクセルを塗りつぶす。
テクスチャフェッチ部２４は、各フラグメント情報について、テクスチャアトラス４１から座標変換部２３が補正した変換座標Ｔ２１の位置にある色を取り出す。このとき、変換座標Ｔ２１はテクスチャアトラス４１のピクセルの中心を指すとは限らたないため、テクスチャフェッチ部２４は、変換座標Ｔ２１の位置の近傍のピクセルの色から補間した色を算出して取り出す。補間方法は任意であるが、例えば、周囲４ピクセル分の色に対するバイリニア補間が利用できる。そして、テクスチャフェッチ部２４は、取得した色でフラグメント情報に対応するピクセルを塗りつぶす。
【００５９】
図１３は、図１０のポリゴン情報３３を描画した結果と、いくつかのピクセルについて、テクスチャアトラス４１内で色を取得した位置を示している。
また、図１４は、図１０のポリゴン情報３３のテクスチャラップモードがクランプの場合での描画結果の一例を示している。
以上で、描画処理Ｓ１２０についての説明を終わる。
【００６０】
＜出力処理Ｓ１３０＞
最後に、出力部５は、ＶＲＡＭ４０上に格納された出力画像４２をモニタなどの映像表示装置に出力する出力処理Ｓ１３０を実行する。
【００６１】
以上で、本実施の形態の係るテクスチャマッピング装置１００のテクスチャマッピング処理Ｓ１００についての説明を終わる。
【００６２】
＊＊＊効果の説明＊＊＊
本実施の形態に係るテクスチャマッピング装置は、複数のテクスチャをそれぞれ異なるポリゴンにマッピングして描画する場合に、マッピングするテクスチャをポリゴンごとに指定する処理を必要としない。よって、本実施の形態に係るテクスチャマッピング装置によれば、高速に描画することができ、かつ、元となったテクスチャをリピートまたはクランプさせてマッピングする場合と同様の結果を得ることができる。
【００６３】
実施の形態２．
本実施の形態では、主に、実施の形態１との差異点について説明する。
実施の形態１では、テクスチャ拡張部１１がテクスチャ３１１をＸＹ軸方向それぞれに少なくとも１ピクセルずつ拡張する必要があった。その結果、テクスチャアトラス４１のサイズが大きくなり、ＶＲＡＭ４０の使用量が増加していた。
そこで、本実施の形態では、テクスチャフェッチ部２４が、変換座標Ｔ２１が示す位置近傍のピクセルの色を補間するのではなく、変換座標Ｔ２１が示す位置の最接近傍にあるピクセルの色を使用する。このような処理とすることで、テクスチャ３１１の拡張は不要となり、ＶＲＡＭ４０の使用量の増大を防ぐことができる。
【００６４】
＊＊＊構成の説明＊＊＊
図１５は、本実施の形態に係るテクスチャマッピング装置１００ａのブロック構成を示す図である。図１５は、実施の形態１で説明した図１に対応する図である。
本実施の形態において、実施の形態１で説明した構成部と同様の機能を有する構成部については同一の符号を付し、その説明を省略する場合がある。
図１５は、図１に比べるとテクスチャ拡張部１１を備えていない。
【００６５】
テクスチャアトラス生成部１０は、メインメモリ３０に格納されたテクスチャ群３１を取得し、取得した複数のテクスチャ３１１を結合してテクスチャアトラス４１ａを生成する。そして、テクスチャアトラス生成部１０は、生成したテクスチャアトラス４１ａをＶＲＡＭ４０に格納する。また、テクスチャアトラス生成部１０は、テクスチャアトラス４１ａ内における各テクスチャ３１１の配置を表す配置情報３２をメインメモリ３０に格納する。
【００６６】
描画部２０は、メインメモリ３０からポリゴン情報３３と、配置情報３２のうちマッピングするテクスチャである描画用テクスチャ３１１０の配置情報を取得し、ＶＲＡＭ４０からテクスチャアトラス４１ａを取得する。
そして、描画部２０は、出力画像４２上のポリゴンにテクスチャアトラス４１ａの一部をリピートまたはクランプしてマッピングして描画し、出力画像４２としてＶＲＡＭ４０に出力する。このとき、テクスチャフェッチ部２４は、変換座標Ｔ２１が示す位置に最も近いピクセルの色を表す情報を色情報４１１として抽出する。すなわち、テクスチャフェッチ部２４は、変換座標Ｔ２１が示す位置の最接近傍にあるピクセルの色を使用する。
変換座標Ｔ２１は、テクスチャアトラス４１において描画用テクスチャ３１１０を含む範囲内となる。本実施の形態において、テクスチャアトラス４１において描画用テクスチャ３１１０を含む範囲とは、描画用テクスチャ３１１０そのものの範囲となる。
【００６７】
出力部５０は、ＶＲＡＭ４０に描画された出力画像４２をモニタ等の映像表示装置に出力する。
【００６８】
＊＊＊動作の説明＊＊＊
図１６，１７を用いて、テクスチャアトラス生成部１０の処理について説明する。
テクスチャ配置部１２の動作は実施の形態１におけるテクスチャ配置部１２と同様である。例として、図５のテクスチャ３１１ａ，３１１ｂ，３１１ｃ，３１１ｄからテクスチャアトラス４１ａを生成した結果を図１６に示す。また、図１６に示すテクスチャアトラス４１ａの配置情報３２を図１７に示す。
図１６に示すように、テクスチャ３１１ａ，３１１ｂ，３１１ｃ，３１１ｄは、拡張されずに、元のサイズのままで結合されている。実施の形態１と同様に、描画用テクスチャ３１１０をテクスチャ３１１ｄとすると、テクスチャ３１１ｄの配置情報は、（２，２，２，２）となる。
【００６９】
図１８，１９を用いて、描画部２０の処理について説明する。頂点処理部２１、ピクセル座標算出部２２の動作は、実施の形態１と同様であり、検出されるピクセルと生成されるフラグメント情報も実施の形態１と同様である。
【００７０】
座標変換部２３は、ポリゴン情報３３が持つテクスチャラップモードに応じて、各フラグメント情報が持つピクセル対応テクスチャ座標Ｔ２を変換する。
テクスチャラップモードがリピートの場合の変換式は、次の（９）（１０）式となる。
ｘｔ’＝Ｘｔ＋ｆｒａｃ（ｘｔ／Ｗｔ）＊Ｗｔ    （９）
ｙｔ’＝Ｙｔ＋ｆｒａｃ（ｙｔ／Ｈｔ）＊Ｈｔ    （１０）
このとき、ピクセル対応テクスチャ座標Ｔ２（ｘｔ，ｙｔ）、頂点処理部２１が読み出した配置情報３２（Ｘｔ，Ｙｔ，Ｗｔ，Ｈｔ）、変換座標Ｔ２１（ｘｔ’，ｙｔ’）とする。また、（９）（１０）式において、ｆｒａｃ（ａ）は、実数ａの小数部分を取り出す演算である。
【００７１】
一方、テクスチャラップモードがクランプの場合の変換式は、次の（１１）（１２）となる。
Ｘｔ’＝Ｘｔ＋ｍｉｎ（ｍａｘ（０，ｘｔ），Ｗｔ）    （１１）
Ｙｔ’＝Ｙｔ＋ｍｉｎ（ｍａｘ（０，ｙｔ），Ｈｔ）    （１２）
（１１）（１２）式において、ｍｉｎ（ａ，ｂ）およびｍａｘ（ａ，ｂ）は、実数ａ、ｂの小さい方および大きい方を選ぶ演算である。
【００７２】
テクスチャフェッチ部２４は、各フラグメント情報に対して、テクスチャアトラス４１ａから、座標変換部２３が算出した変換座標Ｔ２１の位置の色を取り出す。このとき、テクスチャフェッチ部２４は、テクスチャアトラス４１ａの各ピクセルの中で、ピクセル中心が変換座標Ｔ２１に最も近いピクセルの色を取り出す。そして、テクスチャフェッチ部２４は、フラグメント情報に対応するピクセルを、取得した色で塗りつぶす。
【００７３】
図１８は、図１０のポリゴン情報３３を描画した結果と、いくつかのピクセルについて、テクスチャアトラス４１ａ内で色を取得した位置を示している。また、図１９は、図１０のポリゴン情報３３のテクスチャラップモードがクランプの場合での描画結果の一例を示している。
【００７４】
最後に、出力部５０は、ＶＲＡＭ４０上に格納された出力画像４２をモニタなどの映像表示装置に出力する。
【００７５】
＊＊＊効果の説明＊＊＊
本実施の形態に係るテクスチャマッピング装置によれば、複数のテクスチャを複数のポリゴンにマッピングして描画する場合に、テクスチャを切り替える処理を必要としないため高速に描画することができる。さらに、本実施の形態に係るテクスチャマッピング装置によれば、元となったテクスチャをリピートまたはクランプさせてマッピングする場合と同様の描画結果を得ることができる。さらには、本実施の形態に係るテクスチャマッピング装置によれば、テクスチャアトラスを生成する際にテクスチャを拡張する必要も無いため、使用メモリ量の増大を抑えることができる。
【００７６】
実施の形態３．
本実施の形態では、実施の形態１，２と異なる点について説明する。
実施の形態１では、テクスチャ拡張部１１がテクスチャ３１１をＸＹ軸方向それぞれに少なくとも１ピクセルずつ拡張する必要があった。その結果、テクスチャアトラス４１のサイズが大きくなり、ＶＲＡＭ４０の使用量が増加していた。
本実施の形態では、利用するテクスチャラップモードがクランプのみの場合に、テクスチャの拡張は不要となり、メモリ使用量の増大を防ぐことができるテクスチャマッピング装置について説明する。
【００７７】
＊＊＊構成の説明＊＊＊
本実施の形態に係るテクスチャマッピング装置１００ｂの構成は、実施の形態２で説明した図１５の構成と同様である。
本実施の形態において、実施の形態１，２で説明した構成部と同様の機能を有する構成部については同一の符号を付し、その説明を省略する場合がある。
【００７８】
＊＊＊動作の説明＊＊＊
テクスチャアトラス生成部１０の処理は、実施の形態２と同様である。
【００７９】
描画部２０の処理について説明する。
頂点処理部２１、ピクセル座標算出部２２の動作は、実施の形態１および２と同様であり、検出されるピクセルと生成されるフラグメント情報も実施の形態１および２と同様である。
ただし、本実施の形態に係るポリゴン情報３３では、テクスチャラッピングモードはクランプのみであるため、テクスチャラッピングモードは不要である。
【００８０】
座標変換部２３は、実施の形態１で説明した（３）（４）式を用いて、各フラグメント情報が持つピクセル対応テクスチャ座標Ｔ２を変換座標Ｔ２１に変換する。
テクスチャフェッチ部２４の処理は、実施の形態１と同様である。
最後に、出力部５０は、ＶＲＡＭ４０上に格納された出力画像をモニタなどの映像表示装置に出力する。
【００８１】
＊＊＊効果の説明＊＊＊
本実施の形態に係るテクスチャマッピング装置によれば、複数のテクスチャを複数のポリゴンにマッピングして描画する場合に、テクスチャを切り替える処理を必要としないため高速に描画することができる。さらに、本実施の形態に係るテクスチャマッピング装置によれば、元となったテクスチャをクランプさせてマッピングする場合と同様の描画結果を得ることができる。さらには、本実施の形態に係るテクスチャマッピング装置によれば、テクスチャアトラスを生成する際にテクスチャを拡張する必要も無いため、使用メモリ量の増大を抑えることができる。
【００８２】
上記の実施の形態では、テクスチャ拡張部１１、テクスチャ配置部１２、頂点処理部２１、ピクセル座標算出部２２、テクスチャ座標変換部２３、テクスチャフェッチ部２４がそれぞれ独立した機能ブロックとしてテクスチャマッピング装置を構成している。しかし、テクスチャマッピング装置は上記のような構成でなくてもよく、テクスチャマッピング装置の構成は任意である。
例えば、テクスチャ拡張部１１とテクスチャ配置部１２とを１つの機能ブロックとし、頂点処理部２１とピクセル座標算出部２２と座標変換部２３とテクスチャフェッチ部２４とを１つの機能ブロックとしてもよい。テクスチャマッピング装置の機能ブロックは、上記の実施の形態で説明した機能を実現することができれば、任意である。これらの機能ブロックを、他のどのような組み合わせ、あるいは任意のブロック構成で通信装置を構成しても構わない。
また、テクスチャマッピング装置は、１つの装置でなく、複数の装置から構成された通信システムでもよい。
【００８３】
また、実施の形態１から３について説明したが、これらの３つの実施の形態のうち、複数を部分的に組み合わせて実施しても構わない。あるいは、これらの３つの実施の形態のうち、１つの実施の形態を部分的に実施しても構わない。その他、これらの３つの実施の形態を、全体としてあるいは部分的に、どのように組み合わせて実施しても構わない。
なお、上記の実施の形態は、本質的に好ましい例示であって、本発明、その適用物や用途の範囲を制限することを意図するものではなく、必要に応じて種々の変更が可能である。
【符号の説明】
【００８４】
１０  テクスチャアトラス生成部、１１  テクスチャ拡張部、１２  テクスチャ配置部、２０  描画部、２１  頂点処理部、２２  ピクセル座標算出部、２３  座標変換部、２４  テクスチャフェッチ部、３０  メインメモリ、３１  テクスチャ群、３２，３２ｄ  配置情報、３３  ポリゴン情報、４０  ＶＲＡＭ、４１，４１ａ  テクスチャアトラス、４２  出力画像、５０  出力部、１００，１００ａ，１００ｂ  テクスチャマッピング装置、９０１  プロセッサ、９０２  補助記憶装置、９０３  メモリ、９０４  通信装置、９０５  入力インタフェース、９０６  ディスプレイインタフェース、９０７  入力装置、９０８  ディスプレイ、９１０  信号線、９１１，９１２  ケーブル、３１１，３１１ａ，３１１ｂ，３１１ｃ，３１１ｄ  テクスチャ、３１２，３１２ａ，３１２ｂ，３１２ｃ，３１２ｄ  拡張テクスチャ、３３０  ポリゴン情報記憶部、４１１  色情報、３１１０  描画用テクスチャ、３１１１  描画画像、９０４１  レシーバー、９０４２  トランスミッター、Ｓ１００  テクスチャマッピング処理、Ｓ１１０  テクスチャアトラス生成処理、Ｓ１１１  テクスチャ拡張処理、Ｓ１１２  テクスチャ配置処理、Ｓ１２０  描画処理、Ｓ１２１  頂点処理、Ｓ１２２  ピクセル座標算出処理、Ｓ１２３  座標変換処理、Ｓ１２４  テクスチャフェッチ処理、Ｓ１３０  出力処理、Ｓ１１２１  配置処理、Ｓ１１２２  配置情報生成処理、Ｔ１  頂点テクスチャ座標、Ｔ２  ピクセル対応テクスチャ座標、Ｔ２１  変換座標、Ｖ１  頂点座標、Ｖ２  座標。
【図１】
2016151790.tif 000003
【図２】
2016151790.tif 000004
【図３】
2016151790.tif 000005
【図４】
2016151790.tif 000006
【図５】
2016151790.tif 000007
【図６】
2016151790.tif 000008
【図７】
2016151790.tif 000009
【図８】
2016151790.tif 000010
【図９】
2016151790.tif 000011
【図１０】
2016151790.tif 000012
【図１１】
2016151790.tif 000013
【図１２】
2016151790.tif 000014
【図１３】
2016151790.tif 000015
【図１４】
2016151790.tif 000016
【図１５】
2016151790.tif 000017
【図１６】
2016151790.tif 000018
【図１７】
2016151790.tif 000019
【図１８】
2016151790.tif 000020
【図１９】
2016151790.tif 000021
【手続補正書】
【提出日】平成29年2月8日(2017.2.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
多角形領域であるポリゴンへの描画に用いる描画用テクスチャを含む複数のテクスチャを結合してテクスチャアトラスを生成すると共に、前記テクスチャアトラスにおける前記描画用テクスチャの配置を示す配置情報を生成するテクスチャアトラス生成部と、
複数のピクセルからなる出力画像における前記ポリゴンの頂点の位置を示す頂点座標と、前記描画用テクスチャに基づいて前記ポリゴンに描画される画像における前記頂点座標に対応する位置を示す頂点テクスチャ座標と、前記ポリゴンへのマッピング方式を表すテクスチャラップモードとが設定されたポリゴン情報を記憶するポリゴン情報記憶部と、
前記ポリゴン情報に基づいて、前記出力画像において前記ポリゴンが対応するピクセルを表すピクセル座標を検出し、前記ポリゴンに描画される画像において前記ピクセル座標に対応する座標をピクセル対応テクスチャ座標として算出するピクセル座標算出部と、
前記配置情報と前記ポリゴン情報とに基づいて、前記ピクセル対応テクスチャ座標を、前記テクスチャラップモードに応じた変換式を用いて、前記テクスチャアトラスに結合された前記描画用テクスチャを含む範囲内の座標に変換し、変換した座標を変換座標として出力する座標変換部と
を備えるテクスチャマッピング装置。
【請求項２】
前記テクスチャマッピング装置は、
前記座標変換部により出力された前記変換座標に基づいて、前記テクスチャアトラスから色情報を抽出し、抽出した色情報に基づいて前記ピクセル座標により表されるピクセルを塗りつぶすテクスチャフェッチ部を備える請求項１に記載のテクスチャマッピング装置。
【請求項３】
前記テクスチャアトラス生成部は、
前記複数のテクスチャの各テクスチャを拡張するテクスチャ拡張部と、
前記テクスチャ拡張部により拡張されたテクスチャを結合して前記テクスチャアトラスを生成すると共に、前記テクスチャアトラスにおける前記描画用テクスチャの配置を表す配置情報を生成するテクスチャ配置部と
を備え、
前記座標変換部は、
前記配置情報と前記ポリゴン情報とに基づいて、前記ピクセル対応テクスチャ座標を、前記テクスチャラップモードに応じた変換式を用いて、前記描画用テクスチャを含む範囲であって前記描画用テクスチャが拡張された範囲内の座標である前記変換座標に変換する請求項２に記載のテクスチャマッピング装置。
【請求項４】
前記テクスチャ拡張部は、
前記複数のテクスチャの各テクスチャをＸ軸方向及びＹ軸方向に１ピクセルずつ拡張する請求項３に記載のテクスチャマッピング装置。
【請求項５】
前記テクスチャフェッチ部は、
前記変換座標が示す位置のピクセルの周囲の複数のピクセルの色を補間することにより、前記色情報を抽出する請求項３または４に記載のテクスチャマッピング装置。
【請求項６】
前記ポリゴン情報には、前記描画用テクスチャをリピートすることにより前記ポリゴンに描画される画像における前記頂点テクスチャ座標が設定される請求項１から５のいずれか１項に記載のテクスチャマッピング装置。
【請求項７】
前記ポリゴン情報には、前記描画用テクスチャをクランプすることにより前記ポリゴンに描画される画像における前記頂点テクスチャ座標が設定される請求項１から５のいずれか１項に記載のテクスチャマッピング装置。
【請求項８】
前記座標変換部は、テクスチャラップモードに応じた変換式を用いて、前記ピクセル対応テクスチャ座標を前記変換座標に変換する請求項１から７のいずれか１項に記載のテクスチャマッピング装置。
【請求項９】
前記テクスチャフェッチ部は、
前記変換座標が示す位置のピクセルの色を表す情報を前記色情報として抽出する請求項２に記載のテクスチャマッピング装置。
【請求項１０】
多角形領域であるポリゴンに描画用テクスチャを用いて描画するテクスチャマッピング装置のテクスチャマッピング方法において、
前記テクスチャマッピング装置は、複数のピクセルからなる出力画像における前記ポリゴンの頂点の位置を示す頂点座標と、前記描画用テクスチャに基づいて前記ポリゴンに描画される画像における前記頂点座標に対応する位置を示す頂点テクスチャ座標と、前記ポリゴンへのマッピング方式を表すテクスチャラップモードとが設定されたポリゴン情報を記憶するポリゴン情報記憶部を有し、
テクスチャアトラス生成部は、前記描画用テクスチャを含む複数のテクスチャを結合してテクスチャアトラスを生成すると共に、前記テクスチャアトラスにおける前記描画用テクスチャの配置を示す配置情報を生成し、
ピクセル座標算出部は、前記ポリゴン情報に基づいて、前記出力画像において前記ポリゴンが対応するピクセルを表すピクセル座標を検出し、前記ポリゴンに描画される画像において前記ピクセル座標に対応する座標をピクセル対応テクスチャ座標として算出し、
座標変換部は、前記配置情報と前記ポリゴン情報とに基づいて、前記ピクセル対応テクスチャ座標を、前記テクスチャラップモードに応じた変換式を用いて、前記テクスチャアトラスの座標であって前記テクスチャアトラスに結合された前記描画用テクスチャを含む範囲内の座標に変換し、変換した座標を変換座標として出力するテクスチャマッピング方法。
【請求項１１】
多角形領域であるポリゴンに描画用テクスチャを用いて描画するテクスチャマッピング装置のプログラムにおいて、
前記テクスチャマッピング装置は、複数のピクセルからなる出力画像における前記ポリゴンの頂点の位置を示す頂点座標と、前記描画用テクスチャに基づいて前記ポリゴンに描画される画像における前記頂点座標に対応する位置を示す頂点テクスチャ座標と、前記ポリゴンへのマッピング方式を表すテクスチャラップモードとが設定されたポリゴン情報を記憶するポリゴン情報記憶部を有し、
前記描画用テクスチャを含む複数のテクスチャを結合してテクスチャアトラスを生成すると共に、前記テクスチャアトラスにおける前記描画用テクスチャの配置を示す配置情報を生成するテクスチャアトラス生成処理と、
前記ポリゴン情報に基づいて、前記出力画像において前記ポリゴンが対応するピクセルを表すピクセル座標を検出し、前記ポリゴンに描画される画像において前記ピクセル座標に対応する座標をピクセル対応テクスチャ座標として算出するピクセル座標算出処理と、
前記配置情報と前記ポリゴン情報とに基づいて、前記ピクセル対応テクスチャ座標を、前記テクスチャラップモードに応じた変換式を用いて、前記テクスチャアトラスの座標であって前記テクスチャアトラスに結合された前記描画用テクスチャを含む範囲内の座標に変換し、変換した座標を変換座標として出力する座標変換処理と
をコンピュータに実行させるプログラム。
【国際調査報告】
2016151790.tif 000022
2016151790.tif 000023