(57)【要約】環境マッピングシステムおよび方法は、オブジェクトの位置に対するカメラの位置と向きに基づいて、コンピュータで生成したオブジェクトの反射様相を決定する。本発明は、ポリゴンレンダリング用のリアルタイム環境マッピングとして実施されるが、本発明の範囲は他のレンダリング方式を包含する。本発明の一実施形態によれば、ベクトル処理ユニット（ＶＰＵ）（２１３）は、修正反射公式を使用してオブジェクトの反射特性を算出する。修正反射公式は、以下の通りである。ｒ=ｅ-(ｅ・(ｎ+ｅ0))(ｎ+ｅ0)/(1-nz)=ｅ-(ｅ・[nx,ny,nz-1])[nx,ny,nz-1]/(1-nz)。ここで、ｅ0=[0,0,-1]であり、nx,ny,nzは表面法線ベクトルｎの成分である。
2005506611.tif 000002
【特許請求の範囲】
【請求項１】
反射オブジェクトの表面上の点Ｐにおける表面法線ベクトルｎを決定するステップと、
前記点Ｐから観察者へ向かう観察ベクトルｅを決定するステップと、
前記表面法線ベクトルｎと前記観察ベクトルｅとに基づいて、修正反射公式を使用して反射ベクトルｒを算出するステップであって、前記修正反射公式が前記表面上の点Ｐにおける擬似法線ベクトルｎ´の周りの反射に基づく、ステップと、
を含むことを特徴とする環境マッピング方法。
【請求項２】
前記擬似法線ベクトルｎ´は、前記表面法線ベクトルｎと、前記点Ｐから点Ｐのすぐ前に位置する観察者に向かう参照観察ベクトルｅ0との間の角度を二等分するベクトルであることを特徴とする請求項１に記載の方法。
【請求項３】
前記修正反射公式がｒ=ｅ-(ｅ・[nx,ny,nz-1])[nx,ny,nz-1]/(1-nz)で表され、nx,ny,nzが前記法線ベクトルｎの成分であることを特徴とする請求項１に記載の方法。
【請求項４】
前記反射オブジェクトの表面上の点Ｐがポリゴンの頂点に位置することを特徴とする請求項１に記載の方法。
【請求項５】
前記反射ベクトルｒをテクスチャ座標(s,t)に変換するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記反射オブジェクトの表面上の各点Ｐに関連するテクスチャ座標(s,t)に基づいて、前記反射オブジェクトを描画するステップをさらに含むことを特徴とする請求項５に記載の方法。
【請求項７】
機械によって実行されて環境マッピングのための方法ステップを実行するプログラム上で実現される電子可読媒体であって、
前記方法ステップが、
反射オブジェクトの表面上の点Ｐにおける表面法線ベクトルｎを決定するステップと、
前記点Ｐから観察者へ向かう観察ベクトルｅを決定するステップと、
前記表面法線ベクトルｎと前記観察ベクトルｅとに基づいて、修正反射公式を使用して反射ベクトルｒを算出するステップであって、前記修正反射公式が前記表面上の点Ｐにおける擬似法線ベクトルｎ´の周りの反射に基づく、ステップと、
を含むことを特徴とする電子可読媒体。
【請求項８】
前記擬似法線ベクトルｎ´は、前記表面法線ベクトルｎと、前記点Ｐから点Ｐのすぐ前に位置する観察者に向かう参照観察ベクトルｅ0との間の角度を二等分するベクトルであることを特徴とする請求項７に記載の電子可読媒体。
【請求項９】
前記修正反射公式がｒ=ｅ-(ｅ・[nx,ny,nz-1])[nx,ny,nz-1]/(1-nz)で表され、nx,ny,nzが前記法線ベクトルｎの成分であることを特徴とする請求項７に記載の電子可読媒体。
【請求項１０】
前記反射オブジェクトの表面上の点Ｐがポリゴンの頂点に位置することを特徴とする請求項７に記載の電子可読媒体。
【請求項１１】
前記反射ベクトルｒをテクスチャ座標(s,t)に変換するステップをさらに含むことを特徴とする請求項７に記載の電子可読媒体。
【請求項１２】
前記反射オブジェクトの表面上の各点Ｐに関連するテクスチャ座標(s,t)に基づいて、前記反射オブジェクトを描画するステップをさらに含むことを特徴とする請求項１１に記載の電子可読媒体。
【請求項１３】
反射オブジェクトの環境マッピングシステムであって、
反射オブジェクトの表面上の点に位置する擬似法線ベクトルの周りの反射に基づいた修正反射モデルを格納するように構成されたメモリと、
前記修正反射モデルを使用して反射ベクトルを算出するように構成されたベクトル処理ユニットと、
画像内に前記反射オブジェクトを描画するように構成されたグラフィック処理ユニットと、を備え、
算出された反射ベクトルによって前記画像の質が決定されることを特徴とするシステム。
【請求項１４】
前記修正反射公式がｒ=ｅ-(ｅ・[nx,ny,nz-1])[nx,ny,nz-1]/(1-nz)で表され、nx,ny,nzは、前記反射表面上の点Ｐにおける表面法線ベクトルｎの成分であり、ｅは前記点Ｐから観察者に向かう観察ベクトルであることを特徴とする請求項１３に記載のシステム。
【請求項１５】
擬似法線ベクトルｎ´は、前記反射表面上の点Ｐにおける表面法線ベクトルｎと、前記点Ｐから点Ｐのすぐ前に位置する観察者に向かう参照観察ベクトルｅ0との間の角度を二等分するベクトルであることを特徴とする請求項１３に記載のシステム。
【請求項１６】
前記ベクトル処理ユニットが、算出された各反射ベクトルを処理してテクスチャ座標(s,t)を生成するように構成されていることを特徴とする請求項１３に記載のシステム。
【請求項１７】
前記グラフィック処理ユニットが、前記テクスチャ座標を使用して前記反射オブジェクトを画像として描画することを特徴とする請求項１６に記載のシステム。
【請求項１８】
反射オブジェクトの表面上の点Ｐにおける表面法線ベクトルｎを決定する手段と、
前記点Ｐから観察者へ向かう観察ベクトルｅを決定する手段と、
前記表面法線ベクトルｎと前記観察ベクトルｅとに基づいて、修正反射公式を使用して反射ベクトルｒを算出する手段であって、前記修正反射公式が前記表面上の点Ｐにおける擬似法線ベクトルｎ´の周りの反射に基づく、手段と、
を含むことを特徴とする環境マッピングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この出願は、２００１年１０月１０日に出願された、「環境マッピング」と題する米国仮特許出願第６０／３２８，４９０号の利益を主張し、参照により本明細書に援用される。
【０００２】
この発明は、一般にコンピュータで生成される画像に関し、より詳細には、環境マッピングを行うシステムおよび方法に関する。
【背景技術】
【０００３】
通常、離散的な光源、連続的な光源および環境光による、コンピュータが生成したオブジェクトの照明は、照明モデルによって記述される。オブジェクトは、環境光の反射およびオブジェクトの表面から照らされる光源の反射によって照明される。一般に、照明モデルは数学的表現であり、この数学的表現は、一組の変数に作用し、反射光の色や強度、および観察者により観察されたときのオブジェクトのテクスチャなどの反射特性を生成する。環境光およびオブジェクト周囲に位置する光源がある場合、照明モデルは、オブジェクトの反射特性を定義する。被照明オブジェクトが観察者にとって現実のように見えるならば、その照明モデルは正確であるとみなされる。
【０００４】
通常、照明モデルは、コンピュータシステムのベクトル処理ユニット、中央処理ユニット、または描画エンジンによって実行されるソフトウェアプログラムに組み込まれている。プログラムは、オブジェクトに対する光源の位置を変更したとき、観察者が被照明オブジェクトを異なる角度から観察したとき、またはオブジェクトが回転したときに、オブジェクトの照明を計算することができなければならない。さらに、たとえば観察者（すなわち、カメラ）がオブジェクトに対して移動する場合、処理ユニットが照明の計算をリアルタイムで行うためには、効率的な照明モデルが必要である。したがって、計算コストが効率的であると同時に、観察者にとって美的に好ましい被照明オブジェクトの画像を同時に生成する項を照明モデルに組み込むことが望ましい。
【０００５】
実際の物理物体に近似した被照明オブジェクトの現実的な画像を描画するときには、テクスチャ（すなわち、環境マッピング）の計算が重要である。通常、オブジェクトの表面の各点についてテクスチャ座標が算出され、そのテクスチャ座標を含むテクスチャマップが生成される。
【０００６】
図１は、オブジェクトのテクスチャ座標を算出する従来技術による直接垂直投影法（direct normal projection method）を示す。図１は、オブジェクト表面１０５、表面１０５上の点Ｐ、点Ｐにおける表面１０５の法線ベクトルｎ、観察者１１０ａ、観察者１１０ａと点Ｐとの間を結ぶ視線１１５ａ、および、法線ベクトルｎのｘ軸１２０上への投影であるｎxを含む。一般に、ｚ軸（図示せず）はｘ軸１２０に対して垂直であり、図１の平面内にある。ｙ軸（図示せず）はｘ軸１２０およびｚ軸に対して垂直であり、図１の平面外にある。説明を簡単にするために、オブジェクト表面１０５の図１の実施形態を線で表してあるが、表面１０５は、通常は任意の二次元平面である。したがって、一般に法線ベクトルｎはｙ軸に沿ったベクトル成分ｎyを有していてもよい。
【０００７】
動作を述べると、直接垂直投影法は、オブジェクト表面１０５上の各点Ｐについて、法線ベクトルｎの投影成分ｎx、ｎyを算出する。中央処理ユニットまたはベクトル処理ユニットは、その後、当技術分野において既知である１つまたは複数のマッピングアルゴリズムを使用して、投影成分ｎxおよびｎyを、テクスチャ座標(s,t)にマッピング（すなわち、変換）する。そして、ベクトル処理ユニットは、照明モデルにおいて、他の反射変数とともに各点Ｐについて算出されたテクスチャ座標(s,t)を使用して、オブジェクト表面１０５の反射パターンを生成する。従来技術の直接垂直投影法は高速でありえるが、この方法は、観察者１１０ａが別の場所に移動したとき、「表面に塗られている（painted-on）」ように見える反射パターンを生成する。換言すれば、オブジェクト表面１０５の反射パターンが、観察者１１０ａの回転または平行移動に対して変化しない。これは、この方法が点Ｐに対する観察者１１０ａの位置に依存しておらず、法線ベクトルｎのｘ成分およびｙ成分に依存しているからである。例えば、ベクトル処理ユニットは、点Ｐを観察する観察者１１０ｂに対して、点Ｐを観察する観察者１１０ａに対するのと同じ投影成分(ｎx,ｎy)およびテクスチャ座標(s,t)を算出する。
【特許文献１】
米国特許第５，７０４，０２４号
【特許文献２】
米国特許第５，９４９，４２４号
【特許文献３】
米国特許第６，０３４，６９１号
【発明の開示】
【０００８】
オブジェクトの位置および向きに対しての観察者の位置に依存してより現実的な反射パターンを生成し、かつ、特定のオブジェクト−観察者間の配置に対して直接垂直投影法の結果と一致するような環境マッピングシステムおよび方法を実現することは、有用である。
【０００９】
本発明によれば、反射オブジェクトの環境マッピングシステムおよび方法が開示される。本発明の一実施形態では、この方法は、反射オブジェクトの表面上の点Ｐにおける表面法線ベクトルｎを作成し、点Ｐから観察者に向かう観察ベクトルｅを作成し、表面法線ベクトルｎおよび観察ベクトルｅに基づいて、修正反射公式を使用して反射ベクトルｒを算出することを含む。修正反射公式は、表面上の点Ｐにおける擬似法線ベクトルｎ´の周りの反射に基づいている。
【００１０】
本発明によれば、擬似法線ベクトルｎ´は、表面法線ベクトルｎと参照観察ベクトルｅ0の間の角度を二等分する。ここで、参照観察ベクトルｅ0は、点Ｐから点Ｐのすぐ前に位置する観察者の方向を向く。
【００１１】
修正反射公式は以下の通りである。
ｒ=ｅ-(ｅ・(ｎ+ｅ0))(ｎ+ｅ0)/(1-nz)
=ｅ-(ｅ・[nx,ny,nz-1])[nx,ny,nz-1]/(1-nz)
ここで、ｅ0=[0,0,-1]であり、nx,ny,nzは表面法線ベクトルｎの成分である。算出された各反射ベクトルｒは、テクスチャ座標(s,t)のペアを生成するために処理されることができる。そして、反射オブジェクトの表面上の各点Ｐに関連するテクスチャ座標(s,t)に部分的に基づいて、反射オブジェクトが描画される。本発明の範囲は、例えば、反射オブジェクトの表面上の各点Ｐがポリゴンの頂点に位置するポリゴンレンダリングなどの、すべてのタイプのレンダリング方式を包含する。
【００１２】
本発明の別の実施形態では、本システムは、修正反射モデルを格納するように構成されたメモリと、修正反射モデルを使用して反射ベクトルを算出するように構成されたベクトル処理ユニットと、画像中の反射オブジェクトを描画するように構成されたグラフィックプロセッサとを含む。画像の質は、算出された反射ベクトルから導かれるテクスチャ座標によって決まる。
【発明を実施するための最良の形態】
【００１３】
本明細書に記述される環境マッピングシステムおよび方法により、オブジェクトの位置に対するカメラの位置および向きに基づいて、コンピュータで生成されたオブジェクトの反射様相（appearance）を変化させることが可能となる。カメラの位置は、オブジェクト位置に対するカメラの水平方向の位置によって定義してもよい。水平方向のカメラの移動は、オブジェクト位置に対する右、左、上または下方向の動きとして定義される。カメラの向きは、所与の固定座標系に対する回転角度によって定義してもよい。
【００１４】
本発明の例示的な一実施形態は、ポリゴンレンダリング用のリアルタイム環境マッピングとして実現される。しかしながら、本発明の範囲は、他のレンダリング方式用の環境マッピングなどの他のアプリケーションも包含する。他のレンダリング方式には、ポイントベースのプリミティブ、非ポリゴンのボリュームベースのプリミティブも含むことができるが、これに限定されない。本発明の種々の実施形態は、ソフトウェア、ハードウェアまたはファームウェアで実現することができる。
【００１５】
本発明の一実施形態によれば、中央処理ユニット（ＣＰＵ）および／またはひとつまたは複数のベクトル処理ユニット（ＶＰＵ）が、照明モデルを使用して、オブジェクトの反射特性を算出する。オブジェクトの反射特性は、オブジェクトの様相と関連している。反射特性には、オブジェクトによって反射された光の色および強度（intensity）と、反射オブジェクトのテクスチャとが含まれる。オブジェクトのテクスチャは、オブジェクトの鏡面指数（shininess）や表面全体の様相などの反射特性と関連する。通常、オブジェクトのテクスチャは、ＶＰＵによって算出されたテクスチャ座標(s,t)によって指定される。テクスチャ座標は、オブジェクトの周りに巻きつけられる（すなわち、マップされる）テクスチャマップ内に組み込まれてもよい。例えば、ＶＰＵは、ＶＰＵランダムアクセスメモリ（ＲＡＭ）に格納された変数、または、ＣＰＵレジスタに格納された変数に対して作用する環境マッピング命令を実行し、テクスチャ座標を算出することができる。通常、テクスチャ座標と、色や強度などの他の算出された反射特性（照明項とも呼ばれる）とが、更なる処理のためにグラフィック処理ユニット（ＧＰＵ）に渡される。その後、ＧＰＵは、コンピュータモニタ等の表示装置上に表示する反射オブジェクトを作成する。
【００１６】
図２は、本発明による電子エンタテインメントシステム２００の一実施形態のブロック図である。システム２００は、メインメモリ２１０と、ＣＰＵ２１２と、ＶＰＵ２１３と、ＧＰＵ２１４と、入出力プロセッサ（ＩＯＰ）２１６と、ＩＯＰメモリ２１８と、コントローラインターフェイス２２０と、メモリカード２２２と、ユニバーサルシリアルバス（ＵＳＢ）インターフェイス２２４と、ＩＥＥＥ１３９４インターフェイス２２６とを含むが、これに限定されない。システム２００は、オペレーティング・システム・リード・オンリ・メモリ（ＯＳ  ＲＯＭ）２２８と、サウンド処理ユニット（ＳＰＵ）２３２と、光ディスク制御ユニット２３４と、ハードディスクドライブ（ＨＤＤ）２３６も含み、これらはバス２４６を介してＩＯＰ２１６と接続される。
【００１７】
ＣＰＵ２１２、ＶＰＵ２１３、ＧＰＵ２１４、ＩＯＰ２１６は、システムバス２４４を介して通信する。ＣＰＵ２１２は専用バス２４２を介してメインメモリ２１０と通信する。ＶＰＵ２１３とＧＰＵ２１４も専用バス２４０を介して通信することができる。
【００１８】
ＣＰＵ２１２は、ＯＳ  ＲＯＭ２２８およびメインメモリ２１０に格納されたプログラムを実行する。メインメモリ２１０は、予め格納されたプログラムを含むことができ、また、光ディスク制御ユニット２３４を使用して、ＣＤ−ＲＯＭまたはＤＶＤ−ＲＯＭ（図示せず）からＩＯＰ２１６を介して転送されるプログラムも含むことができる。ＩＯＰ２１６は、ＣＰＵ２１２、ＶＰＵ２１３、ＧＰＵ２１４、およびコントローラインターフェイス２２０などのシステム２００の他のデバイス間でのデータ交換を制御する。
【００１９】
メインメモリ２１０は、照明モデルを含むゲーム命令を有するプログラムを含むが、これに限定されない。プログラムは、光ディスク制御ユニット２３４を介してＤＶＤ−ＲＯＭからメインメモリ２１０にロードされることが好ましい。ＣＰＵ２１２は、ＶＰＵ２１３、ＧＰＵ２１４およびＳＰＵ２３２と協働してゲーム命令を実行し、コントローラインターフェイス２２０を介してユーザから受け取る入力を使用して描画命令を生成する。ユーザはまた、ＣＰＵ２１２に命令して特定のゲーム情報をメモリカード２２２上に記憶させることができる。他のデバイスは、ＵＳＢインターフェイス２２４およびＩＥＥＥ１３９４インターフェイス２２６を介してシステム２００に接続することができる。
【００２０】
本発明の一実施形態では、ＶＰＵ２１３はＣＰＵ２１２からの命令を実行し、照明モデルを使用して、被照明オブジェクトと関連するテクスチャ座標を作成する。ＳＰＵ２３２は、ＣＰＵ２１２からの命令を実行し、オーディオ装置（図示せず）上の出力である音声信号を生成する。ＧＰＵ２１４は、ＣＰＵ２１２とＶＰＵ２１３からの描画命令を実行し、ディスプレイ装置（図示せず）上に表示するための画像を生成する。すなわち、ＧＰＵ２１４は、ＶＰＵ２１３によって作成されたテクスチャ座標および他の照明項と、ＣＰＵ２１２からの描画命令とを使用して、画像内の被照明オブジェクトを描画する。
【００２１】
図３は、本発明にしたがった、図２のメインメモリ２１０に格納された、修正された環境反射投影法を説明する図である。本発明の一実施形態では、修正反射投影法は、照明モデルによって使用される。本発明の別の実施形態では、修正反射投影法は、照明モデルの中に組み込まれている。図３は、オブジェクトの表面３０５、表面３０５上の点Ｐ、点Ｐにおける表面３０５の法線ベクトルｎ（表面法線ベクトルとも呼ぶ）、観察者３１０ａ、点Ｐから観察者３１０ａへ向かう観察ベクトルｅ、およびｘ軸３２０を含む。本発明の一実施形態では、表面３０５はポリゴンプリミティブ（図示せず）から構成されており、各ポリゴンの各頂点において、表面３０５上に点Ｐが指定されている。後の参照のために、ｚ軸（図示せず）はｘ軸３２０に対して垂直であり、図３の平面内にある。ｙ軸（図示せず）はｘ軸３２０とｚ軸に対して垂直であり、図３の平面外にある。説明を簡単にするために、表面３０５の図３の実施形態は線で示されているが、任意の二次元表面上の任意の点Ｐが本発明の範囲内にある。例えば、表面３０５の図３の実施形態は、二次元面（図示せず）とｘ−ｚ平面との交線であってもよい。したがって、法線ベクトルｎは、ｙ軸に沿ったベクトル成分ｎyを有していてもよい。
【００２２】
本発明の一実施形態によれば、修正環境反射投影法は、標準の反射公式（reflection formula）の修正バージョンを使用して、表面３０５上の各点Ｐについて反射ベクトルｒを計算する。この方法は、続いて反射ベクトルｒを処理して、各点Ｐについてテクスチャ座標(s,t)を生成する。標準の反射公式は、ｒ=ｅ-2(ｅ・ｎ)ｎである。所与の法線ｎをもつ表面３０５上に指定された各点Ｐについて、標準の反射公式は、観察ベクトルｅによって指定される所与の観察者の位置に基づいて、反射ベクトルｒを与える。標準の反射公式は、スネルの反射則を満足するベクトル関係である。ここで、スネルの反射則は、入射角ai（図３）と反射角ar（図３）が等しくなるというものである。
【００２３】
本発明の一実施形態によれば、ＶＰＵ２１３（図２）は、標準反射公式の修正バージョンを使用して反射ベクトルを算出する。観察者３１０ａのすぐ前に位置する（すなわち、観察ベクトルｅがｘ軸３２０と直角に交差する）表面３０５上の点Ｐについて、標準の反射公式は、修正反射公式によって与えられる反射ベクトルｒ´が法線ベクトルｎに等しくなるように、標準の反射公式が修正される。すなわち、ｒ´=ｎである。したがって、修正反射投影法は、表面３０５上の点Ｐが観察者３１０ａのすぐ前に位置するとき、直接垂直投影法と同じ結果を与える。
【００２４】
標準反射公式を修正するために、観察ベクトルｅと法線ベクトルｎの間の角である入射角aiを二等分する擬似法線ベクトルｎ´が定義される。すなわち、ｎ´=(ｅ+ｎ)/(|ｅ+ｎ|)である。ここで、|ｅ+ｎ|はｅ+ｎの大きさであり、角度biは角度brに等しい。標準反射公式における法線ベクトルｎを擬似法線ベクトルｎ´で置換して得られる修正反射ベクトルｒ´は、法線ベクトルｎと等しい。これは、修正反射公式がスネルの法則の原理に基づいているためである。ここで、角度bi=角度brである。したがって、修正反射公式は、
ｒ´=ｎ=ｅ-2(ｅ・ｎ´)ｎ´
と表記される。
【００２５】
修正反射公式の簡略化は、単純明快である。点Ｐが(x,y,z)=(0,0,z)に位置すると仮定すると、単位法線ベクトルｎは成分[nx,ny,nz]を有し、単位観察ベクトルｅは成分[0,0,-1]を有する。ここで、括弧[]はベクトル量を示すために使用している。例えば、[nx,ny,nz]は、ベクトルｎの別の表記方法である。さて、ｎおよびｅの成分をｎ´の式に代入すると、
ｎ´=(ｅ+ｎ)/(|ｅ+ｎ|)=[nx,ny,nz-1]/(sqrt(nx2+ny2+(nz-1)2))
が得られる。分母の平方根の引数を展開すると、
nx2+ny2+(nz-1)2=nx2+ny2+nz2+1-2nz=1+1-2nz=2(1-nz)
が得られる。なぜなら、法線ベクトルｎは大きさ「１」の単位ベクトルだからである。k≡1/sqrt(2(1-nz))と定義すると、ｎ´=k[nx,ny,nz-1]である。
【００２６】
修正反射公式にｎ´を代入すると、
ｒ´=ｎ=ｅ-2(ｅ・ｎ´)ｎ´=ｅ-2k2(ｅ・[nx,ny,nz-1])[nx,ny,nz-1]
=ｅ-(ｅ・[nx,ny,nz-1])[nx,ny,nz-1]/(1-nz)
が得られる。すなわち、任意の所与の観察ベクトルｅに対して
ｒ´=ｅ-(ｅ・[nx,ny,nz-1])[nx,ny,nz-1]/(1-nz)
である。換言すれば、修正反射公式は、任意の所与の観察ベクトルｅ=[ex,ey,ez]について有効であり、関連する単位法線ベクトルｎ=[nx,ny,nz]を持つ面３０５上の任意の点について有効である。例えば、観察者３１０ｂが観察ベクトルｅ"に沿った点Ｐを観察すると、ＶＰＵ２１３は、修正反射公式を使用して反射ベクトルｒ"を算出する。ここでｒ"=ｅ"-(ｅ"・[nx,ny,nz-1])[nx,ny,nz-1]/(1-nz)である。
【００２７】
修正反射公式はさらに簡単にすることができ、よりコンパクトな数学的関係によって表現することができる。例えば、単位観察ベクトルｅ＝[0,0,-1]を定数の参照観察ベクトルｅ0と表すと、修正反射公式は以下のように記述することができる。
ｒ´=ｅ-(ｅ・[nx,ny,nz-1])[nx,ny,nz-1]/(1-nz)
=ｅ-(ｅ・(ｎ+ｅ0))(ｎ+ｅ0)/(1-nz)
【００２８】
図４は、本発明の一実施形態にしたがって、テクスチャ座標に基づいて反射オブジェクトの画像を表示する方法ステップのフローチャートである。ステップ４０５において、ユーザは、例えば光ディスク制御ユニット２３４（図２）を介してビデオソフトウェアをメモリ２１０にロードし、ＣＰＵ２１２（図２）はそのビデオソフトウェアを実行する。ビデオソフトウェアは、対話型のビデオであっても非対話型のビデオであってもよく、本発明の例示的な実施形態では、ビデオソフトウェアはビデオゲームである。ステップ４１０において、ＣＰＵ２１２は、ビデオフレームの全ての反射オブジェクトについて描画命令を生成する。描画命令は、コントローラインターフェイス２２０（図２）を介して受け取ったユーザ入力に応答して生成されてもよい。ステップ４１５において、ＶＰＵ２１３（図２）は、照明モデルを使用して描画命令を実行し、ビデオフレームの各反射オブジェクトについて反射ベクトルを生成する。例えば、表面３０５（図３）の各頂点Ｐ（図３）について反射ベクトルが生成される。ステップ４１５については、図５を用いてさらに後述する。
【００２９】
ステップ４２０において、ＶＰＵ２１３は、各オブジェクトに関連する反射ベクトルを変換してテクスチャ座標にする。この変換は、反射ベクトルマッピング法であってもよいし、または、当技術分野において既知の他の方法を使用して構成してもよい。加えて、ＶＰＵ２１３は、各反射オブジェクトについてのテクスチャ座標から構成されるテクスチャマップを計算することができる。次に、ステップ４２５において、ＶＰＵ２１３は、テクスチャ座標および／またはテクスチャマップをＧＰＵ２１４に送る。ステップ４３０において、ＧＰＵ２１４は、各反射オブジェクトに関連するテクスチャ座標またはテクスチャマップに部分的に基づいて、ディスプレイ装置（図示せず）上に表示するための各反射オブジェクトの画像を作成する。ＧＰＵ２１４は、テクスチャ座標とともに、ＶＰＵ２１３またはＣＰＵ２１２により生成されたほかの照明項を使用して、画像として表示するための各反射オブジェクトを作成することができる。
【００３０】
次に、ステップ４３５において、ＣＰＵ２１２は、ビデオゲームの実行が終了したか否かを判定する。実行が終了していなければ、本方法は、ステップ４１０において次のビデオフレームについて継続する。しかしながら、ステップ４３５において、ビデオゲームの実行が終了していることをＣＰＵ２１２が確認したとき、本方法は終了する。
【００３１】
図５は、本発明の一実施形態にしたがって、反射オブジェクトについて反射ベクトルを生成する方法ステップのフローチャートである。ステップ５０５において、ＶＰＵ２１３（図２）は、反射オブジェクトの表面３０５（図３）上の頂点Ｐ（図３）を選択する。次に、ステップ５１０において、ＶＰＵ２１３は、選択した頂点Ｐにおける反射オブジェクトの表面３０５の法線ベクトルｎ（図３）のベクトル成分[nx,ny,nz]を求める。本発明の一実施形態では、ベクトル成分はＣＰＵ２１２に関連するレジスタ（図示せず）に格納される。本発明の別の実施形態では、ベクトル成分はＶＰＵ２１３に関連するメモリ（図示せず）に格納される。
【００３２】
ステップ５１５において、ＶＰＵ２１３は、例えば、点Ｐから観察者３１０ｂ（図３）へ向かう観察ベクトルｅ"（図３）の成分[ex",ey",ez"]を求める。ＶＰＵ２１３は、成分[ex",ey",ez"]を算出することもできるし、ＶＰＵ２１３のメモリ（図示せず）またはＣＰＵ２１２のレジスタ（図示せず）から成分を受け取ることもできる。次にステップ５２０において、ＶＰＵ２１３は、修正反射公式、観察ベクトルｅ"の成分[ex",ey",ez"]、および法線ベクトルｎのベクトル成分(nx,ny,nz)を使用して、反射ベクトルｒ"（図３）を算出する。ステップ５２５において、ＶＰＵ２１３は、反射オブジェクトに関連する各頂点Ｐについての反射ベクトルが算出されたか否かを判定する。各頂点Ｐについて反射ベクトルが算出されていない場合、ステップ５３０において、ＶＰＵ２１３は反射オブジェクトの表面３０５上の別の頂点Ｐを選択する。続いて、本方法はステップ５１０に続く。しかしながら、ステップ５２５において、各頂点Ｐについて反射ベクトルが算出されている場合、本方法は終了する。
【００３３】
本発明をいくつかの実施形態を参照して説明した。他の実施形態は、本開示の観点から当業者にとって明らかである。本発明は、上述の好ましい実施形態において記述されたもの以外の構成を使用しても容易に実施することができる。例えば、本発明によれば、修正環境反射投影法は、ＣＰＵ２１２、ＶＰＵ２１３、ＧＰＵ２１４または描画エンジン（図示せず）によってその一部または全体を実行することができる。または、例えば、修正環境反射投影法は、マルチプロセッサシステムによって並列的に実施することができる。さらに、本発明は、上述の実施形態に述べたもの以外のシステムとともに効果的に使用することができる。したがって、開示した実施形態についてのこれらのまたは他の変形例は本発明によって包含されるように意図されており、添付の特許請求の範囲によってのみ限定される。
【図面の簡単な説明】
【００３４】
【図１】オブジェクトのテクスチャ座標を算出する従来技術の直接垂直投影法を説明する図である。
【図２】本発明による電子エンタテインメントシステムの一実施形態のブロック図である。
【図３】本発明の一実施形態にしたがった、図２のメインメモリ２１０に格納された修正反射投影法を説明する図である。
【図４】本発明の一実施形態にしたがってテクスチャ座標に基づいた反射オブジェクトの画像を表示する方法ステップのフローチャートである。
【図５】本発明の一実施形態にしたがって反射オブジェクトの反射ベクトルを生成する、図４のステップ４１５の方法ステップのフローチャートである。
【図１】
2005506611.tif 000003
【図２】
2005506611.tif 000004
【図３】
2005506611.tif 000005
【図４】
2005506611.tif 000006
【図５】
2005506611.tif 000007
【国際公開パンフレット】
2005506611.tif 000008
2005506611.tif 000009
2005506611.tif 000010
2005506611.tif 000011
2005506611.tif 000012
2005506611.tif 000013
2005506611.tif 000014
2005506611.tif 000015
2005506611.tif 000016
2005506611.tif 000017
2005506611.tif 000018
2005506611.tif 000019
2005506611.tif 000020
2005506611.tif 000021
2005506611.tif 000022
2005506611.tif 000023
2005506611.tif 000024
2005506611.tif 000025
2005506611.tif 000026
2005506611.tif 000027
2005506611.tif 000028
2005506611.tif 000029
2005506611.tif 000030
【国際公開パンフレット（コレクトバージョン）】
2005506611.tif 000031
2005506611.tif 000032
【国際調査報告】
2005506611.tif 000033
2005506611.tif 000034
2005506611.tif 000035