(57)【要約】【課題】テクスチャ境界の繋ぎ目を軽減し、テクスチャ素材の有する異方性質感を表現する。【解決手段】ベクトル算出手段１０１が、モデル表面のある領域の形状情報及び領域に対応するあるテクスチャに基づいて、テクスチャをモデル表面の領域に投影した場合の複数の投影座標系ベクトルを算出する。方位算出手段１０２が、複数の投影座標系ベクトル及び領域のモデル平面に対する法線から、領域でのモデル表面に対する視点及び光源の方位を算出する。マッピング手段１０３、１０４が、視点及び光源の方位に基づいて、テクスチャを変化させて領域に対応するモデル平面にマッピングする。【選択図】      図１
2006146326.tif 000002
【特許請求の範囲】
【請求項１】
視点方向及び光源方向に依存して、モデル表面にマッピングする複数のテクスチャを変化させるテクスチャ・マッピング装置において、
モデル表面のある領域の形状情報及び該領域に対応するあるテクスチャに基づいて、該テクスチャをモデル表面の前記領域に投影した場合の複数の投影座標系ベクトルを算出するベクトル算出手段と、
前記複数の投影座標系ベクトル及び前記領域のモデル平面に対する法線から、前記領域でのモデル表面に対する視点及び光源の方位を算出する方位算出手段と、
前記視点及び光源の方位に基づいて、テクスチャを変化させて前記領域に対応するモデル平面にマッピングするマッピング手段を具備することを特徴とするテクスチャ・マッピング装置。
【請求項２】
視点方向及び光源方向に依存して、モデル表面にマッピングする複数のテクスチャを変化させるテクスチャ・マッピング装置において、
モデル表面のある領域の形状情報及び該領域に対応するあるテクスチャに基づいて、該テクスチャをモデル表面の前記領域に投影した場合の複数の投影座標系ベクトルを算出するベクトル算出手段と、モデル表面の領域ごとに算出される投影座標系ベクトルに基づいて、モデル表面の統合した複数の領域を代表する代表投影座標系ベクトルを算出する代表ベクトル算出手段を具備するモデルデータ変換装置と、
前記代表投影座標系ベクトル及びある領域のモデル平面に対する法線から、該ある領域でのモデル表面に対する視点及び光源の方位を算出する方位算出手段と、前記視点及び光源の方位に基づいて、テクスチャを変化させて該ある領域に対応するモデル平面にマッピングするマッピング手段を具備するテクスチャ描画装置とを具備することを特徴とするテクスチャ・マッピング装置。
【請求項３】
視点方向及び光源方向に依存して、モデル表面にマッピングする複数のテクスチャを変化させるテクスチャ・マッピング装置において、
モデル表面のある領域の形状情報及び該領域に対応するあるテクスチャに基づいて、該テクスチャをモデル表面の前記領域に投影した場合の複数の投影座標系ベクトルを算出するベクトル算出手段と、モデル表面の領域ごとに算出される投影座標系ベクトルに基づいて、モデル表面の統合した複数の領域を代表する代表投影座標系ベクトルを算出する代表ベクトル算出手段と、前記代表投影座標系ベクトル及び前記領域のモデル平面に対する法線から、ある領域でのモデル表面に対する視点及び光源の方位を算出する方位算出手段を具備するモデルデータ変換装置と、
前記視点及び光源の方位に基づいて、テクスチャを変化させて前記ある領域に対応するモデル平面にマッピングするマッピング手段を具備するテクスチャ描画装置とを具備することを特徴とするテクスチャ・マッピング装置。
【請求項４】
前記ベクトル算出手段は、モデル表面の３次元座標及び該モデル表面に対応するテクスチャ座標に基づいて、前記複数の投影座標系ベクトルを算出することを特徴とする請求項１から請求項３のいずれか１項に記載のテクスチャ・マッピング装置。
【請求項５】
前記方位算出手段は、複数の投影座標系ベクトル及びモデル平面に対する法線に基づいて、極座標表示により、ある領域でのモデル表面に対する視点及び光源の方位を算出することを特徴とする請求項１から請求項４のいずれか１項に記載のテクスチャ・マッピング装置。
【請求項６】
複数のテクスチャを格納している格納手段をさらに具備し、
前記マッピング手段は、前記視点及び光源の方位に対応するテクスチャを前記格納手段から取り出す取出手段と、該テクスチャを前記領域に対応するモデル平面にマッピングするマッピング手段を具備することを特徴とする請求項１から請求項５のいずれか１項に記載のテクスチャ・マッピング装置。
【請求項７】
前記格納手段は、視点あるいは光源の方位ごとに対応するテクスチャを格納していることを特徴とする請求項６に記載のテクスチャ・マッピング装置及び方法。
【請求項８】
視点方向及び光源方向に依存して、モデル表面にマッピングする複数のテクスチャを変化させるテクスチャ・マッピング方法において、
モデル表面のある領域の形状情報及び該領域に対応するあるテクスチャに基づいて、該テクスチャをモデル表面の前記領域に投影した場合の複数の投影座標系ベクトルを算出し、
前記複数の投影座標系ベクトル及び前記領域のモデル平面に対する法線から、前記領域でのモデル表面に対する視点及び光源の方位を算出し、
前記視点及び光源の方位に基づいて、テクスチャを変化させて前記領域に対応するモデル平面にマッピングすることを特徴とするテクスチャ・マッピング方法。
【請求項９】
視点方向及び光源方向に依存して、モデル表面にマッピングする複数のテクスチャをコンピュータを使用して変化させるテクスチャ・マッピングプログラムにおいて、
コンピュータを、
モデル表面のある領域の形状情報及び該領域に対応するあるテクスチャに基づいて、該テクスチャをモデル表面の前記領域に投影した場合の複数の投影座標系ベクトルを算出するベクトル算出手段と、
前記複数の投影座標系ベクトル及び前記領域のモデル平面に対する法線から、前記領域でのモデル表面に対する視点及び光源の方位を算出する方位算出手段と、
前記視点及び光源の方位に基づいて、テクスチャを変化させて前記領域に対応するモデル平面にマッピングするマッピング手段として機能させるためのテクスチャ・マッピングプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元コンピュータ・グラフィックス分野での高品位なテクスチャ・マッピング手法を行うためのテクスチャ・マッピング装置、方法及びプログラムに関し、特に、テクスチャ座標の割当て方法に依存せず、視点方向及び光源方向に応じて変化する物体表面の光学的特性を適切に表現するためのマッピング手法、及びモデルデータの変換手法を行うためのテクスチャ・マッピング装置、方法及びプログラムに関する。
【背景技術】
【０００２】
物体表面の光学的特性を表現するために、ポリゴン表面のテクスチャ成分を視線方向、光源方向に応じて表現したものであるＢＴＦ（Bi-directional Texture Function）を使用する手法がある（例えば、非特許文献１参照）。通常、ＢＴＦのデータにおいて、視点方向及び光源方向を表す４個の変数のうち、２個あるいは３個の変数を変化させながら画像のサンプリングを行う（例えば、非特許文献２参照）。
【非特許文献１】Dana, et. al, ”Reflectance and Texture of Real World Surfaces”, ACM Transaction on Graphics,18(1):1-34,1999.
【非特許文献２】Chen, et. al, ”Light Field Mapping Efficient Representation and Hardware Rendering of Surface Light Fields”, Proceedings SIGGRAPH 2002,pp.447-456.
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、上述したテクスチャ・マッピングの手法では、ポリゴンの３次元姿勢（法線）のみに基づいた視点や光源の相対方位から、単一、あるいは複数のテクスチャ画像を切り替えて貼り付けており、ポリゴン上に貼られているテクスチャ座標の割当て方法は考慮していない。そのため、ポリゴン各頂点のテクスチャ座標割当方法によって歪みが発生した場合（例えば、テクスチャ取得時とマッピング時とで形状に伸縮やせん断などの変形が発生している場合）、本来の素材が持つテクスチャの異方性質感を表現することができないという問題がある。
【０００４】
また、従来は描画の単位であるポリゴンを構成する頂点単位に位置座標、テクスチャ座標、色情報などスカラー値を保有しておけばポリゴン単位の描画処理に不足はない。ところが、上記のテクスチャ歪みを考慮した描画のためには対象となるポリゴンにおけるテクスチャの投影座標系（モデルに対するテクスチャの割当てを定義する座標系）が隣接するポリゴン単位に異なるため、ポリゴン境界でテクスチャの質感に繋ぎ目の発生する問題がある。
【０００５】
このように従来のＣＧ技術においてテクスチャ・マッピングでは、描画時の視点や照明位置の変化を反映したレンダリングを行う際に、テクスチャ座標の割当てを考慮せずにモデルの姿勢のみに応じて視点及び光源の相対方位を導出していたため、素材特有の質感を適切に表現することができない。また、ポリゴン単位にテクスチャ座標系を導出するとポリゴン境界でテクスチャの繋ぎ目が発生するという問題がある。
【０００６】
本発明は、上述した従来の技術における問題点に鑑み、テクスチャ境界の繋ぎ目を軽減し、テクスチャ素材の有する異方性質感を表現することができるテクスチャ・マッピング装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明のテクスチャ・マッピング装置によれば、視点方向及び光源方向に依存して、モデル表面にマッピングする複数のテクスチャを変化させるテクスチャ・マッピング装置において、モデル表面のある領域の形状情報及び該領域に対応するあるテクスチャに基づいて、該テクスチャをモデル表面の前記領域に投影した場合の複数の投影座標系ベクトルを算出するベクトル算出手段と、前記複数の投影座標系ベクトル及び前記領域のモデル平面に対する法線から、前記領域でのモデル表面に対する視点及び光源の方位を算出する方位算出手段と、前記視点及び光源の方位に基づいて、テクスチャを変化させて前記領域に対応するモデル平面にマッピングするマッピング手段を具備することを特徴とする。
【０００８】
また、本発明のテクスチャ・マッピング装置によれば、視点方向及び光源方向に依存して、モデル表面にマッピングする複数のテクスチャを変化させるテクスチャ・マッピング装置において、
モデル表面のある領域の形状情報及び該領域に対応するあるテクスチャに基づいて、該テクスチャをモデル表面の前記領域に投影した場合の複数の投影座標系ベクトルを算出するベクトル算出手段と、モデル表面の領域ごとに算出される投影座標系ベクトルに基づいて、モデル表面の統合した複数の領域を代表する代表投影座標系ベクトルを算出する代表ベクトル算出手段を具備するモデルデータ変換装置と、
前記代表投影座標系ベクトル及びある領域のモデル平面に対する法線から、該ある領域でのモデル表面に対する視点及び光源の方位を算出する方位算出手段と、前記視点及び光源の方位に基づいて、テクスチャを変化させて該ある領域に対応するモデル平面にマッピングするマッピング手段を具備するテクスチャ描画装置とを具備することを特徴とする。
【０００９】
さらに、本発明のテクスチャ・マッピング装置によれば、視点方向及び光源方向に依存して、モデル表面にマッピングする複数のテクスチャを変化させるテクスチャ・マッピング装置において、
モデル表面のある領域の形状情報及び該領域に対応するあるテクスチャに基づいて、該テクスチャをモデル表面の前記領域に投影した場合の複数の投影座標系ベクトルを算出するベクトル算出手段と、モデル表面の領域ごとに算出される投影座標系ベクトルに基づいて、モデル表面の統合した複数の領域を代表する代表投影座標系ベクトルを算出する代表ベクトル算出手段と、前記代表投影座標系ベクトル及び前記領域のモデル平面に対する法線から、ある領域でのモデル表面に対する視点及び光源の方位を算出する方位算出手段を具備するモデルデータ変換装置と、
前記視点及び光源の方位に基づいて、テクスチャを変化させて前記ある領域に対応するモデル平面にマッピングするマッピング手段を具備するテクスチャ描画装置とを具備することを特徴とする。
【００１０】
本発明のテクスチャ・マッピング方法によれば、視点方向及び光源方向に依存して、モデル表面にマッピングする複数のテクスチャを変化させるテクスチャ・マッピング方法において、モデル表面のある領域の形状情報及び該領域に対応するあるテクスチャに基づいて、該テクスチャをモデル表面の前記領域に投影した場合の複数の投影座標系ベクトルを算出し、前記複数の投影座標系ベクトル及び前記領域のモデル平面に対する法線から、前記領域でのモデル表面に対する視点及び光源の方位を算出し、前記視点及び光源の方位に基づいて、テクスチャを変化させて前記領域に対応するモデル平面にマッピングすることを特徴とする。
【００１１】
本発明のテクスチャ・マッピングプログラムによれば、視点方向及び光源方向に依存して、モデル表面にマッピングする複数のテクスチャをコンピュータを使用して変化させるテクスチャ・マッピングプログラムにおいて、
コンピュータを、
モデル表面のある領域の形状情報及び該領域に対応するあるテクスチャに基づいて、該テクスチャをモデル表面の前記領域に投影した場合の複数の投影座標系ベクトルを算出するベクトル算出手段と、前記複数の投影座標系ベクトル及び前記領域のモデル平面に対する法線から、前記領域でのモデル表面に対する視点及び光源の方位を算出する方位算出手段と、前記視点及び光源の方位に基づいて、テクスチャを変化させて前記領域に対応するモデル平面にマッピングするマッピング手段として機能させるためのものである。
【発明の効果】
【００１２】
本発明のテクスチャ・マッピング装置、方法及びプログラムによれば、テクスチャ境界の繋ぎ目を軽減し、テクスチャ素材の有する異方性質感を表現することができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照しながら本発明の実施形態にかかるテクスチャ・マッピング装置、方法及びプログラムについて詳細に説明する。まず、テクスチャ・マッピング装置に関する概略を説明した後、各実施形態を説明する。  
３次元物体の見え方、すなわち３次元物体の形状及びその表面の色や質感は、この３次元物体を眺める方向（視点方向）及び光を照射する方向（光源方向）に依存して変化する。３次元コンピュータ・グラフィックスの分野では、３次元物体の表面をポリゴンと称する多数の２次元平面単位に分割し、ポリゴンごとに描画を行って２次元画像を生成し、これを３次元物体の表示画像としている。  
また、視点方向及び光源方向が変化する際の３次元物体の見え方は、表示ポリゴンの向き（３次元姿勢）やポリゴンの光学的特性（輝度等）を視点方向及び光源方向とともに変化させることで表現することができる。  
さらに、ポリゴン内部のディテール（例えば模様や柄など）を表現したいという要求に対してはテクスチャ・マッピングと呼ばれる手法が用いられる。テクスチャ・マッピングとは、模様や柄が表現された画像（テクスチャ画像）をポリゴン表面に配置（マッピング）する画像処理技術である。  
テクスチャ・マッピングにおいて、ポリゴンを構成する頂点単位にテクスチャ画像内の対応する画像内座標を定義してテクスチャ画像の向きを制御したり、テクスチャ画像に実写画像を用いる等の改良を行うことにより、高品質なレンダリングが可能となる。
【００１４】
（第１の実施形態）  
本実施形態のテクスチャ・マッピング装置１００は、図１に示すように、テクスチャ投影座標系算出部１０１、視点／光源方位算出部１０２、テクスチャ格納部１０３、描画部１０４を備えている。  
テクスチャ投影座標系算出部１０１は、モデル形状データを入力して、モデルに対するテクスチャの投影座標系を算出する。  
視点／光源方位算出部１０２は、テクスチャ投影座標系算出部１０１が算出したテクスチャの投影座標系のベクトルとモデル平面に対する法線を入力して、視点及び光源の相対方位を算出する。  
テクスチャ格納部１０３は、テクスチャを記憶している。テクスチャ格納部１０３は、視点あるいは光源の方位ごとに対応するテクスチャを複数個格納している。
【００１５】
描画部１０４は、視点／光源方位算出部１０２が算出した視点及び光源の相対方位に基づいて、テクスチャ格納部１０３から取得したテクスチャをマッピングし描画する。描画部１０４は、描画時の視点位置及び光源位置に応じてポリゴン表面のテクスチャ成分を表現した関数であるＢＴＦ（Bidirectional Texture Function）に基づいてテクスチャ画像を切り替えてマッピングを行う。
【００１６】
ＢＴＦでは、視点位置、光源位置の指定に、図２に示したモデル表面上の撮像対象を原点とした球座標系を用いる。図２は、視点位置及び光源位置に依存したテクスチャ・マッピングを行う場合に使用する球座標系を示した図である。  
視点が無限遠、光源が平行光源であるとすると、図２に示すように、視点位置を（θe,φe）、光源位置を（θi,φi）と表現することができる。ここで、θe及びθiは経度方向、φe及びφiは緯度方向の角度を表している。この場合、テクスチャアドレスは以下のように６次元で定義することができる。すなわち、例えば、テクセルは、６つの変数により
Ｔ（θe, φe, θi, φi, u, v） （ただし、u,v はテクスチャ内アドレスを示す）
と表現される。実際には、特定の視点、光源で取得した複数のテクスチャ画像を集積しておくことで、テクスチャの切り替えとテクスチャ内アドレスの組合せによってテクスチャを表現することができる。このようなテクスチャのマッピングを高次元テクスチャ・マッピングと呼ぶ。
【００１７】
次に、本実施形態のテクスチャ・マッピング装置１００の動作を図３を参照して説明する。  
まず、テクスチャ投影座標系算出部１０１が、モデル形状データを入力して、このモデル形状データから描画プリミティブへの分割を行う（ステップＳ３０１）。すなわち、この分割動作は描画処理の単位に分割することであり、基本は３頂点で構成されるポリゴン単位で分割処理を行うことになる。ここで、ポリゴンは３頂点で囲われる面情報であり、テクスチャ・マッピング装置１００はポリゴン内部を描画処理することになる。
【００１８】
次に、テクスチャ投影座標系算出部１０１が、ある描画プリミティブ単位にテクスチャ投影座標系の計算を行う（ステップＳ３０２）。すなわち、テクスチャ投影座標系算出部１０１が、この描画プリミティブを構成する、３次元座標で表現される３頂点からなる平面上へ、テクスチャを定義する２次元座標系のｕ軸、ｖ軸をそれぞれ投影した場合の投影座標系のベクトルＵ及びベクトルＶを算出する。さらに、テクスチャ投影座標系算出部１０１は、３頂点からなる平面に対する法線を算出する。投影座標系のベクトルＵ及びベクトルＶを求める具体的な手法は後に図４を参照して説明する。
【００１９】
次に、視点／光源方位算出部１０２が、ステップＳ３０２で算出された投影座標系のベクトルＵ、ベクトルＶ、及び法線を入力し、さらに視点位置及び光源位置を入力して、視点方位及び光源方位（方位パラメータ）の計算を行い、この描画プリミティブに対する視点及び光源の相対方位を求める（ステップＳ３０３）。  
具体的には、緯度方向の相対方位φは法線ベクトルＮと方位ベクトルＤから以下のように求めることができる。すなわち、緯度方向の相対方位φは、  
φ ＝ arccos（Ｄ・Ｎ／（｜Ｄ｜×｜Ｎ｜））
である。ここで、Ｄ・ＮはベクトルＤとベクトルＮの内積を示す。一方、経度方向の相対方位θの算出方法は後に図５を参照して説明する。
【００２０】
次に、描画部１０４が、ステップＳ３０３で算出された視点及び光源の相対方位に基づいて、描画テクスチャの生成を行う（ステップＳ３０４）。この描画テクスチャの生成は、描画プリミティブに貼り付けるテクスチャを事前に描画しておくための処理である。描画部１０４は、ステップＳ３０３における視点及び光源の相対方位に基づきテクスチャ格納手段１０３に格納されているテクスチャからテクセル情報を取得する。テクセル情報を取得することは、特定の撮影条件で取得したテクスチャ要素を描画プリミティブに対応するテクスチャ座標空間に割り当てることである。この相対方位とテクスチャ要素の取り出し処理は視点あるいは光源ごとに行えば良く、複数の視点あるいは複数の光源が存在する場合も同様に求めていくことができる。
【００２１】
以上のステップＳ３０２からステップＳ３０４までの処理をステップＳ３０１で取得した全描画プリミティブに対して処理を繰り返し、全描画プリミティブに対してステップＳ３０２からステップＳ３０４までの処理を行った場合はステップＳ３０６に進む（ステップＳ３０５）。  
描画部１０４が、全プリミティブの描画が終了した段階で、描画した各テクスチャをモデルの対応する箇所にマッピングする（ステップＳ３０６）。
【００２２】
次に、図３のステップＳ３０２で算出する投影座標系のベクトルＵ及びベクトルＶを求める具体的な手法を図４を参照して説明する。  
描画プリミティブを構成する３頂点の３次元座標及びテクスチャ座標を、
頂点Ｐ０：３次元座標（ｘ０，  ｙ０，  ｚ０），テクスチャ座標（ｕ０，  ｖ０）
頂点Ｐ１：３次元座標（ｘ１，  ｙ１，  ｚ１），テクスチャ座標（ｕ１，  ｖ１）
頂点Ｐ２：３次元座標（ｘ２，  ｙ２，  ｚ２），テクスチャ座標（ｕ２，  ｖ２）
と定義する。このように定義すると、この描画プリミティブを構成する、３次元座標で表現される３頂点からなる平面上へ、テクスチャを定義する２次元座標系のｕ軸、ｖ軸をそれぞれ投影した場合の投影座標系のベクトルＵ＝（ｕｘ，  ｕｙ，  ｕｚ）及びベクトルＶ＝（ｖｘ，  ｖｙ，  ｖｚ）は、以下の関係式により算出することができる。すなわち、
Ｐ２  −  Ｐ０  ＝  （ｕ１  −  ｕ０）  ×  Ｕ  ＋  （ｖ１  −  ｖ０）  ×  Ｖ、
Ｐ１  −  Ｐ０  ＝  （ｕ２  −  ｕ０）  ×  Ｕ  ＋  （ｖ２  −  ｖ０）  ×  Ｖ、
ここで、Ｐ０＝（ｘ０，  ｙ０，  ｚ０）、Ｐ１＝（ｘ１，  ｙ１，  ｚ１）、Ｐ２＝（ｘ２，  ｙ２，  ｚ２）であるので、この２つの関係式をｕｘ，  ｕｙ，  ｕｚ及びｖｘ，  ｖｙ，  ｖｚについて解いて投影座標系のベクトルＵ及びベクトルＶを求めることができる。すなわち、
ｕｘ  ＝  ｉｄｅｔ  ×  （ｖ２０  ×  ｘ１０  −  ｖ１０  ×  ｘ２０）、
ｕｙ  ＝  ｉｄｅｔ  ×（ｖ２０  ×  ｙ１０  −  ｖ１０  ×  ｙ２０）、
ｕｚ  ＝  ｉｄｅｔ  ×（ｖ２０  ×  ｚ１０  −  ｖ１０  ×  ｚ２０）、
ｖｘ  ＝  ｉｄｅｔ  ×  （−ｕ２０  ×  ｘ１０  ＋  ｕ１０  ×  ｘ２０）、
ｖｙ  ＝  ｉｄｅｔ  ×（−ｕ２０  ×  ｙ１０  ＋  ｕ１０  ×  ｙ２０）、
ｖｚ  ＝  ｉｄｅｔ  ×（−ｕ２０  ×  ｚ１０  ＋  ｕ１０  ×  ｚ２０）、
ただし、
ｖ１０  ＝  ｖ１  −  ｖ０、
ｖ２０  ＝  ｖ２  −  ｖ０、
ｘ１０  ＝  ｘ１  −  ｘ０、
ｘ２０  ＝  ｘ２  −  ｘ０、
ｙ１０  ＝  ｙ１  −  ｙ０、
ｙ２０  ＝  ｙ２  −  ｙ０、
ｚ１０  ＝  ｚ１  −  ｚ０、
ｚ２０  ＝  ｚ２  −  ｚ０、
ｄｅｔ  ＝  ｕ１０×ｖ２０  −  ｕ２０×ｖ１０、
ｉｄｅｔ  ＝  １／ｄｅｔ
である。また、法線は、３つの頂点の座標からこれらの頂点が形成する平面上の２つの独立なベクトルの外積を計算することにより容易に求めることができる。
【００２３】
次に、図３のステップＳ３０３で算出する経度方向の相対方位θを求める具体的な手法を図５を参照して説明する。  
まず、視点あるいは光源の方位ベクトルをモデル平面に投影したベクトルＢを求める。視点あるいは光源の方位ベクトルをＤ＝（ｄｘ，  ｄｙ，  ｄｚ）、モデル平面の法線ベクトルをＮ＝（ｎｘ，  ｎｙ，  ｎｚ）、方位ベクトルＤをモデル平面に投影したベクトルＢ＝（ｂｘ，  ｂｙ，  ｂｚ）は以下の関係式から求めることができる。すなわち、
Ｂ  ＝  Ｄ  −  （Ｄ・Ｎ）×Ｎ
であり、この関係式を成分表示すれば、
ｂｘ  ＝  ｄｘ  −  αｎｘ
ｂｙ  ＝  ｄｙ  −  αｎｙ
ｂｚ  ＝  ｄｚ  −  αｎｚ
である。ただし、α＝ｄｘ  ×  ｎｘ  ＋  ｄｙ×ｎｙ  ＋  ｄｚ  ×  ｎｚ、法線ベクトルＮは単位ベクトルとする。
【００２４】
視点あるいは光源の方位ベクトルをモデル平面に投影したベクトルＢと、ステップＳ３０２で求めた投影座標系のベクトルＵ及びベクトルＶとから視点及び光源の相対方位を以下のように求めることができる。  
まず、ベクトルＵとベクトルＶのなす角度λと、ベクトルＵとベクトルＢのなす角度θをそれぞれ以下の方程式により求める。すなわち、
λ＝arccos（Ｕ・Ｖ／（｜Ｕ｜×｜Ｖ｜））
θ＝arccos（Ｕ・Ｂ／（｜Ｕ｜×｜Ｂ｜））
から求めることができる。もし、投影座標系に歪みがなければＵとＶは直交、つまりλはπ／２（９０度）になるが、投影座標系に歪みがあるとλはπ／２以外の値を取る。ところが、テクスチャを取得する際には直交した座標系での相対的な方位で視点及び光源の方位を特定しているため、投影座標系に歪みがある場合は補正が必要となってくる。したがって、投影したＵＶ座標系に合わせて視点及び光源の相対方位角度を適切に補正すればよい。すなわち、補正後の相対方位θ’は以下の関係式、
θ  ＜  π  かつθ  ＜  λ  の場合、
θ’＝  （θ／λ）  ×  π／２
θ  ＜  π  かつθ  ＞  λ  の場合、
θ’＝  π−（（π−θ）／（π−λ））  ×  π／２
θ  ＞  π  かつθ  ＜  π＋λ  の場合、
θ’＝  （θ−π）／λ  ×  π／２  ＋π
θ  ＞  π  かつθ  ＞  π＋λ  の場合、
θ’＝  ２π−（（２π−θ）／（π−λ））  ×  π／２
により求めることができる。以上の処理により、描画プリミティブに対する視点及び光源の経度方向の相対方位を求めることができる。
【００２５】
次に、テクスチャ・マッピング装置１００の図３に示した動作を変形した一例を図６を参照して説明する。なお、同様な処理ステップは同一の番号を付してその説明を省略する。  
図３のステップＳ３０４の代わりに、描画部１０４が描画プリミティブ単位にテクスチャのマッピングを行う（ステップＳ６０４）。この変形例の処理では、図３の処理フローのように描画用のテクスチャを確保しておくメモリが必要ないことと、テクスチャ座標を共有するようなモデルデータが発生した場合にも描画プリミティブ単位で処理が完了するため、透過処理を加えた多重描画処理に向く手法である。
【００２６】
以上に説明した本実施形態のテクスチャ・マッピング装置、方法及びプログラムによれば、従来、視点や光源の相対方位に依存したテクスチャ・マッピング（高次元テクスチャ・マッピング）装置において問題となっている、取得したテクスチャに対応していないテクスチャ要素を誤ってマッピングすることにより発生していた正しくないテクスチャ表現を補正することができ、テクスチャ素材の有する異方性質感の表現が適切に行えるようになる。また、頂点単位にテクスチャの投影座標系や光源、視点等の方位を出力することが可能となるため、従来プリミティブ境界で発生していたテクスチャの質感変化に伴う繋ぎ目が軽減でき、高品位な描画処理を行うことができる。
【００２７】
（第２の実施形態）   
本実施形態のテクスチャ・マッピング装置は、第１の実施形態のテクスチャ・マッピング装置を２つの装置、すなわち、図７に示すように、モデルデータ変換装置７００とテクスチャ描画装置７０１に分離したものである。本実施形態において第１の実施形態で説明した装置部分と同様なものは同一の符号を付してその説明を省略する。  
モデルデータ変換装置７００は、テクスチャ投影座標系算出部１０１とモデルデータ変換部７０２を備え、テクスチャ描画装置７０１は、視点／光源方位算出部７０３、テクスチャ格納部１０３、描画部１０４を備えている。  
モデルデータ変換部７０２は、共有する頂点のテクスチャ投影座標を統合し、頂点単位に新たなテクスチャ投影座標に変換し、投影ベクトル付のモデル形状データに変換する。モデルデータ変換部７０２はメモリを有し、各描画プリミティブを構成する頂点ごとに、頂点情報として投影座標系のベクトルＵ及びベクトルＶと３頂点からなる平面に対する法線を記憶して、テクスチャ投影座標系算出部１０１が入力したモデル形状データの全ての頂点情報を記憶する。  
視点／光源方位算出部７０３は、モデルデータ変換部７０２から投影ベクトル付のモデル形状データを入力して、頂点単位のテクスチャ投影座標系のベクトル及びモデル平面に対する法線に基づいて、視点、及び光源の相対方位を算出する。
【００２８】
モデルデータ変換装置７００及びテクスチャ描画装置７０１は同じ機器内に実装されていてもよいし、ネットワーク上で接続している、離れた別の機器に実装されていても構わない。ネットワーク上で接続されている場合、投影ベクトル付モデル形状データはネットワーク上をモデルデータ変換装置７００からテクスチャ描画装置７０１へ伝送される。
【００２９】
次に、本実施形態のモデルデータ変換装置７００及びテクスチャ描画装置７０１の動作を図８を参照して説明する。第１の実施形態で図３を参照して説明したステップと同様なステップは同一のステップ番号を付してその説明を省略する。  
ステップＳ８０３で、モデルデータ変換部７０２が、ある描画プリミティブで、テクスチャ投影座標系の計算より得られた、投影座標系のベクトルＵ及びベクトルＶと３頂点からなる平面に対する法線を入力して、ベクトルＵとベクトルＶと法線を頂点情報として登録する。モデルデータ変換部７０２は、描画プリミティブを構成する頂点ごとにステップＳ３０２で求めたベクトルＵ及びベクトルＶを随時登録する。頂点を識別するインデックス情報が存在する場合、同一の頂点情報ごとにリンク構造のデータを作成していけばよい。
【００３０】
ステップＳ３０２とステップＳ８０３の処理をステップＳ３０１で取得した全描画プリミティブに対して処理を繰り返し、全描画プリミティブに対してステップＳ３０２とステップＳ８０３の処理を行った場合はステップＳ８０５に進む（ステップＳ８０４）。
【００３１】
モデルデータ変換部７０２がステップＳ８０３で得た頂点情報を基にして、頂点ごとに代表化された投影ベクトル（代表投影ベクトルとも呼ぶ）を算出する（ステップＳ８０５）。代表投影ベクトルの具体的な求め方は後に図９を参照して説明する。
【００３２】
次の処理ステップからはテクスチャ描画装置７０１で行われる。  
視点／光源方位算出部７０３が代表化された投影ベクトル付きのモデル形状データを入力して、このモデル形状データから描画プリミティブへの分割を再度行う（ステップＳ８０６）。この分割は、ステップＳ３０１における分割と同様でもよいし、変更して新たに描画プリミティブを構成する頂点の組み合わせを変更しても構わない。
【００３３】
視点／光源方位算出部７０３は、描画プリミティブ及び、各描画プリミティブごとの法線、投影ベクトルＵ、投影ベクトルＶを入力し、さらに視点位置及び光源位置を入力して、視点方位及び光源方位（方位パラメータ）の計算を行い、この描画プリミティブに対する視点及び光源の相対方位を求める（ステップＳ８０７）。このステップＳ８０７における相対方位の計算の方法は、第１の実施形態のステップＳ３０３におけるものと同様であるが、描画プリミティブを構成する頂点単位に投影座標系のベクトルが同一とは限らない点が異なる。そこで、描画プリミティブに含まれるテクセル（導出テクスチャ座標）ごとに投影座標系のベクトルを３頂点の代表化された投影座標ベクトルの補間により求めることが必要になる。代表投影ベクトルの補間方法は後に図１０を参照して説明する。  
以降の処理ステップは図３に示した第１の実施形態と同様である。
【００３４】
次に、代表投影ベクトルの具体的な求め方の一例を図９を参照して説明する。  
描画プリミティブ間で共有する頂点が複数存在する場合、各描画プリミティブの投影座標系のベクトルＵ及びベクトルＶを使用して、これらをいわば平均化することで頂点ごとに１つの代表投影ベクトルＵ及び代表投影ベクトルＶを算出する。すなわち、図９に示したように描画プリミティブが配置されている場合、（ＵＰ０，ＶＰ０）を代表投影ベクトルの組とし、この代表投影ベクトルが付与される頂点の周りに配置している各描画プリミティブの投影座標系のベクトルの組をそれぞれ（Ｕ０，Ｖ０）、（Ｕ１，Ｖ１）、（Ｕ２，Ｖ２）、（Ｕ３，Ｖ３）とすると、
（ＵＰ０，ＶＰ０）＝（Ｕ０，Ｖ０）＋（Ｕ１，Ｖ１）＋（Ｕ２，Ｖ２）＋（Ｕ３，Ｖ３）
の計算式で代表投影ベクトルを算出する。
【００３５】
次に、代表投影ベクトルの補間方法の一例を図１０を参照して説明する。  
各代表投影ベクトルを面内で補間する方法として、例えば、導出テクスチャ座標と頂点におけるテクスチャ座標とでテクスチャ領域を３分割し、各エリアに占める面積単位に補間係数を変えるという方法がある。すなわち、（ＵＰ０，ＶＰ０）を導出テクスチャ座標における投影座標系のベクトルの組とし、このテクスチャ座標の周りにある頂点の代表投影ベクトルの組を（Ｕ１，Ｖ１）、（Ｕ２，Ｖ２）、（Ｕ３，Ｖ３）とし、テクスチャ座標の点とこの周りにある頂点を結んだ線で区画された面積を図１０に示すように、α、β、γとした場合、
（ＵＰ０，ＶＰ０）＝α／τ（Ｕ０，Ｖ０）＋β／τ（Ｕ１，Ｖ１）＋γ／τ（Ｕ２，Ｖ２）、
ただし、τ＝α＋β＋γ、
の関係式で（ＵＰ０，ＶＰ０）を補間することができる。
【００３６】
以上に説明した本実施形態のテクスチャ・マッピング装置、方法及びプログラムによれば、高次元テクスチャ・マッピング時の歪みを補正するための情報として、テクスチャの投影座標系を表すベクトル情報を新規に頂点単位にデータ出力することが可能になる。また、このデータを入力とすることで歪みを補正した高次元テクスチャのマッピングが可能となり、テクスチャ素材の有する異方性質感の表現が適切に行えるようになる。また、頂点単位にテクスチャの投影座標系や光源、視点等の方位を出力することが可能となるため、従来プリミティブ境界で発生していたテクスチャの質感変化に伴う繋ぎ目が軽減でき、高品位な描画処理を行うことができる。  
また、これらの頂点単位に存在するベクトル情報としては、従来、法線ベクトルなどが含まれるが、テクスチャの投影座標系を表すベクトル情報（Ｕベクトル、Ｖベクトル）を加えることで、バーテックスシェーダ等のグラフィックス処理を支援するハードウェアの枠組により、テクスチャ描画装置における処理の高速化も容易な上、より高品位な描画が可能となる。
【００３７】
上記の説明では、描画テクスチャの作成を行い、マッピングを行っていたが、図６に示した第１の実施形態における変形処理と同様に、描画テクスチャを作成せず、描画プリミティブ単位に描画処理を行っても構わない。
【００３８】
（第３の実施形態）   
本実施形態のテクスチャ・マッピング装置は、第１の実施形態のテクスチャ・マッピング装置を２つの装置、すなわち、図１１に示すように、モデルデータ変換装置１１００とテクスチャ描画装置１１０１に分離したものである。本実施形態において第１の実施形態及び第２の実施形態で説明した装置部分と同様なものは同一の符号を付してその説明を省略する。  
モデルデータ変換装置１１００は、テクスチャ投影座標系算出部１０１、モデルデータ変換部７０２、視点／光源方位算出部１０２を備え、テクスチャ描画装置１１０１は、テクスチャ格納部１０３、描画部１０４を備えている。  
モデルデータ変換装置１１００は、モデルの形状データを入力して、方位パラメータ付モデル形状データを出力する。テクスチャ描画装置１１０１は、方位パラメータ付モデル形状データを入力して、描画した各テクスチャをモデルの対応する箇所にマッピングする。
【００３９】
第２の実施形態と同様に、モデルデータ変換装置１１００及びテクスチャ描画装置１１０１は同じ機器内に実装されていてもよいし、ネットワーク上で接続している、離れた別の機器に実装されていても構わない。ネットワーク上で接続されている場合、投影ベクトル付モデル形状データはネットワーク上をモデルデータ変換装置１１００からテクスチャ描画装置１１０１へ伝送される。
【００４０】
次に、本実施形態のモデルデータ変換装置１１００及びテクスチャ描画装置１１０１の動作を図１２を参照して説明する。第１の実施形態で図３を参照して説明したステップ及び第２の実施形態で図８を参照して説明したステップと同様なステップは、同一のステップ番号を付してその説明を省略する。  
ステップＳ１２０６で、視点／光源方位算出部１０２は、描画プリミティブ及び、各描画プリミティブごとの法線、投影ベクトルＵ、投影ベクトルＶを入力し、さらに視点位置及び光源位置を入力して、視点方位及び光源方位（方位パラメータ）の計算を行い、この描画プリミティブに対する視点及び光源の相対方位を求め、この相対方位を方位パラメータとして含んだ方位パラメータ付モデル形状データを出力する。モデル表面の３次元的な法線ベクトルは、例えば、テクスチャ投影座標系算出部１０１が各描画プリミティブを構成する頂点の関係からベクトルの外積により求める。予め、モデルデータのなかに各頂点における法線ベクトルが含まれている場合、それらを利用しても構わない。
【００４１】
方位パラメータは、描画プリミティブを構成する頂点と視点位置を結んだベクトルを視線ベクトル、照明位置を結んだベクトルを光源ベクトル、及び描画プリミティブの法線ベクトルとの関係で表現することができる。法線ベクトルに対する視点ベクトルの相対方位は視点方位パラメータとして、極座標系を用い（θe, φe）と表すことができ、同様に法線ベクトルに対する光源ベクトルの相対方位は光源方位パラメータとして、極座標系を用い（θi,φi）と表すことができる。最終的にモデルデータ変換装置１１００の視点／光源方位算出部１０２から方位パラメータ付モデル形状データを取り出すことができる。  
この方位パラメータのデータ量は、第２の実施形態のモデルデータ変換装置７００から出力される投影ベクトルのデータ量よりも少なくなるので、モデルデータ変換装置１１００とテクスチャ描画装置１１０１がネットワーク等で接続されている場合は、本実施形態のテクスチャ・マッピング装置の方が伝送に好適である。
【００４２】
次の処理ステップからはテクスチャ描画装置１１０１で行われる。  
描画部１０４が代表化された方位パラメータ付きのモデル形状データを入力して、このモデル形状データから描画プリミティブへの分割を再度行う（ステップＳ８０６）。この分割は、ステップＳ３０１における分割と同様でもよいし、変更して新たに描画プリミティブを構成する頂点の組み合わせを変更しても構わない。
【００４３】
以上に説明した本実施形態のテクスチャ・マッピング装置、方法及びプログラムによれば、高次元テクスチャ・マッピング時の歪みを補正するための情報として、視点、光源、あるいは両者の方位情報を新規に頂点単位にデータ出力することが可能になる。また、このデータを入力とすることで歪みを補正した高次元テクスチャのマッピングが可能となり、テクスチャ素材の有する異方性質感の表現が適切に行えるようになる。また、頂点単位にテクスチャの投影座標系や光源、視点等の方位を出力することが可能となるため、従来プリミティブ境界で発生していたテクスチャの質感変化に伴う繋ぎ目が軽減でき、高品位な描画処理を行うことができる。
【００４４】
また、これらの頂点単位に存在する方位情報はスカラー値であるため、既存のピクセルシェーダ等のグラフィックス処理を支援するハードウェアの枠組により、補間を含めたテクスチャ描画処理の高速化も容易な上、より高品位な描画が可能となる。
【００４５】
上記の説明では、描画テクスチャの作成を行い、マッピングを行っていたが、図６に示した第１の実施形態における変形処理と同様に、描画テクスチャを作成せず、描画プリミティブ単位に描画処理を行っても構わない。
【００４６】
また、上述の実施形態の中で示した処理手順に示された指示、及び流れ図の各ステップに示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態のテクスチャ・マッピング装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フレキシブルディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ±Ｒ、ＤＶＤ±ＲＷなど）、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をＣＰＵで実行させれば、上述した実施形態のテクスチャ・マッピング装置と同様な動作を実現することができる。
【００４７】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００４８】
【図１】本発明の第１の実施形態にかかるテクスチャ・マッピング装置のブロック図。
【図２】視点位置及び光源位置に依存したテクスチャ・マッピングを行う場合に使用する球座標系を示す図。
【図３】図１のテクスチャ・マッピング装置の動作を示すフロー図。
【図４】投影座標系のベクトルＵ及びベクトルＶを求める具体的な手法の一例を説明するための図。
【図５】経度方向の相対方位を求める具体的な手法の一例を説明するための図。
【図６】図３の動作を変形した一例の動作を示すフロー図。
【図７】本発明の第２の実施形態にかかるテクスチャ・マッピング装置のブロック図。
【図８】図７のテクスチャ・マッピング装置の動作を示すフロー図。
【図９】代表投影ベクトルを算出する手法の一例を説明するための図。
【図１０】代表投影ベクトルの補間方法の一例を説明するための図。
【図１１】本発明の第３の実施形態にかかるテクスチャ・マッピング装置のブロック図。
【図１２】図１１のテクスチャ・マッピング装置の動作を示すフロー図。
【符号の説明】
【００４９】
１００・・・テクスチャ・マッピング装置、１０１・・・テクスチャ投影座標系算出部、１０２、７０３・・・視点／光源方位算出部、１０３・・・テクスチャ格納部、１０４・・・描画部、７００、１１００・・・モデルデータ変換装置、７０１、１１０１・・・テクスチャ描画装置、７０２・・・モデルデータ変換部
【図１】
2006146326.tif 000003
【図２】
2006146326.tif 000004
【図３】
2006146326.tif 000005
【図４】
2006146326.tif 000006
【図５】
2006146326.tif 000007
【図６】
2006146326.tif 000008
【図７】
2006146326.tif 000009
【図８】
2006146326.tif 000010
【図９】
2006146326.tif 000011
【図１０】
2006146326.tif 000012
【図１１】
2006146326.tif 000013
【図１２】
2006146326.tif 000014