(57)【要約】【解決手段】被照明オブジェクト（６７０）からの鏡面反射光の強度は、乗算、加算及び減算演算を含む代数表現によって表される。前記代数表現は照明モデル内で使用される。照明モデルは、被照明オブジェクト（６７０）によって反射された光の色及び強度を記述する。被照明オブジェクト（６７０）により反射された光は、環境要素、拡散要素及び鏡面要素から構成される。照明モデル内で使用される鏡面項は、関数形式において拡散項と同等である。これによって、照明モデルによって定義される色ベクトルｃ（７０５）の計算が高速化される。被照明オブジェクト（６７０）からの鏡面反射項を表す修正された代数表現は、照明モデル内で定義され使用される。これによって、色ベクトルｃ（７０５）の計算が高速化される。【選択図】図６
2005500629.tif 000002
【特許請求の範囲】
【請求項１】
鏡面反射光の強度を計算する方法であって、
複数の光源によって照明されるオブジェクトから鏡面反射された光の強度を代数表現によって表すステップと、
前記代数表現を、前記オブジェクトの照明の照明モデルであって、鏡面照明項を有する照明モデルに組み込むステップと、
前記照明モデルの鏡面照明項を該照明モデルの他の項と同じ関数形式で表現するステップと、
を含むことを特徴とする鏡面反射光強度の計算方法。
【請求項２】
前記代数表現が除算演算子または指数演算子を含まないことを特徴とする請求項１に記載の鏡面反射光強度の計算方法。
【請求項３】
前記複数の光源は広がりのある光源と点光源とを含むことを特徴とする請求項１に記載の鏡面反射光強度の計算方法。
【請求項４】
2005500629.tif 000072
察者から測定されたときにｉ番目の光源からの光によって照明されたオ
2005500629.tif 000073
点から前記ｉ番目の光源の方向を指す単位ベクトルと、反射点から前記観察者の方向を指す単位ベクトルとの間の角を二等分する単位ベクトルであり、ｎは前記オブジェクトの鏡面指数を記述するパラメータであることを特徴とする請求項１に記載の鏡面反射光強度の計算方法。
【請求項５】
前記照明モデルが前記ｉ番目の光源によって照明される前記オブジェクトから反射された光の色と強度を記述しており、前記反射光が鏡面要素、拡散要素及び環境要素を含むことを特徴とする請求項４に記載の鏡面反射光強度の計算方法。
【請求項６】
前記照明モデルの他の項が拡散照明項と環境項とを含むことを特徴とする請求項５に記載の鏡面反射光強度の計算方法。
【請求項７】
前記照明モデルの鏡面照明項が、前記照明モデルの拡散照明項と同じ関数形式で表現されることを特徴とする請求項６に記載の鏡面反射光強度の計算方法。
【請求項８】
2005500629.tif 000074
り、この式は観察者から測定されたときにｉ番目の光源からの光によって照明された前記オブジェクト上の一点から反射される光の強度を記述
2005500629.tif 000075
と、反射点から前記観察者の方向を指す単位ベクトルとの間の角を二等分する単位ベクトルであり、ｎは前記オブジェクトの鏡面指数を記述するパラメータであり、ｋは前記代数表現の導関数が連続であることを判定するパラメータであることを特徴とする請求項１に記載の鏡面反射光強度の計算方法。
【請求項９】
2005500629.tif 000076
算方法。
【請求項１０】
複数の光源によって照明されるオブジェクトから鏡面反射された光の強度を代数表現によって表すステップと、
前記代数表現を、前記オブジェクトの照明の照明モデルであって、鏡面照明項を有する照明モデルに組み込むステップと、
前記照明モデルの鏡面照明項を該照明モデルの他の項と同じ関数形式で表現するステップと、
を実行することで鏡面反射光の強度を計算する命令を含むことを特徴とするコンピュータ可読媒体。
【請求項１１】
前記代数表現が除算演算子または指数演算子を含まないことを特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項１２】
前記複数の光源は広がりのある光源と点光源を含むことを特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項１３】
2005500629.tif 000077
察者から測定されたときにｉ番目の光源からの光によって照明されたオ
2005500629.tif 000078
点から前記ｉ番目の光源の方向を指す単位ベクトルと、反射点から前記観察者の方向を指す単位ベクトルとの間の角を二等分する単位ベクトルであり、ｎはオブジェクトの鏡面指数を記述するパラメータであることを特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項１４】
前記照明モデルが前記ｉ番目の光源によって照明される前記オブジェクトから反射された光の色と強度を記述しており、前記反射光が鏡面要素、拡散要素及び環境要素を含むことを特徴とする請求項１３に記載のコンピュータ可読媒体。
【請求項１５】
前記照明モデルの他の項が拡散照明項と環境項とを含むことを特徴とする請求項１４に記載のコンピュータ可読媒体。
【請求項１６】
前記照明モデルの鏡面照明項が、前記照明モデルの拡散照明項と同じ関数形式で表現されることを特徴とする請求項１５に記載のコンピュータ可読媒体。
【請求項１７】
2005500629.tif 000079
り、この式は観察者から測定されたときにｉ番目の光源からの光によって照明された前記オブジェクト上の一点から反射される光の強度を記述
2005500629.tif 000080
と、反射点から前記観察者の方向を指す単位ベクトルとの間の角を二等分する単位ベクトルであり、ｎは前記オブジェクトの鏡面指数を記述するパラメータであり、ｋは前記代数表現の導関数が連続であることを判定するパラメータであることを特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項１８】
2005500629.tif 000081
媒体。
【請求項１９】
複数の光源によるオブジェクトの照明を計算する電子エンタテイメントシステムであって、
ゲーム命令と照明モデルとを記憶するように構成されているメモリと、
ゲーム命令を実行し描画命令を生成するように構成されているプロセッサと、
同一の関数形式で表現されている鏡面照明項と拡散照明項とを有する前記照明モデルを使用して、色ベクトルを計算するように構成されているベクトルプロセッサと、
前記描画命令に従って、前記色ベクトルを使用して画像中の被照明オブジェクトを描画するように構成されているグラフィックプロセッサと、
を含むことを特徴とする電子エンタテイメントシステム。
【請求項２０】
各光源ｉについて、前記オブジェクト上の一点から鏡面反射され観察者によって検出される光の強度を表す代数表現によって、前記光源ｉについての鏡面照明項を持つ前記照明モデルを代替することを特徴とする請求項１９に記載の電子エンタテイメントシステム。
【請求項２１】
前記代数表現が除算演算子または指数演算子を含まないことを特徴とする請求項２０に記載の電子エンタテイメントシステム。
【請求項２２】
2005500629.tif 000082
点から光源ｉの方向を指す単位ベクトルと、反射点から前記観察者の方向を指す単位ベクトルとの間の角を二等分する単位ベクトルであり、ｎは前記オブジェクトの鏡面指数を記述するパラメータであることを特徴とする請求項２０に記載の電子エンタテイメントシステム。
【請求項２３】
前記ベクトルプロセッサが、前記拡散照明項と前記鏡面照明項についてのベクトルドット積を並列で計算することを特徴とする請求項２２に記載の電子エンタテイメントシステム。
【請求項２４】
2005500629.tif 000083
り、ｋは前記代数表現の導関数が連続であることを判定するパラメータで
2005500629.tif 000084
前記観察者の方向を指す単位ベクトルとの間の角を二等分する単位ベクトルであり、ｎは前記オブジェクトの鏡面指数を記述するパラメータであることを特徴とする請求項２０に記載の電子エンタテイメントシステム。
【請求項２５】
2005500629.tif 000085
ントシステム。
【請求項２６】
前記ベクトルプロセッサが、前記拡散照明項と前記鏡面照明項についてのベクトルドット積を並列で計算することを特徴とする請求項２５に記載の電子エンタテイメントシステム。
【請求項２７】
複数の光源によるオブジェクトの照明を計算する方法であって、
ゲーム命令と照明モデルとをメモリ内に格納するステップと、
ゲーム命令を実行し描画命令を生成するステップと、
同一の関数形式で表現されている鏡面照明項と拡散照明項とを有する前記照明モデルで、色ベクトルを表すステップと、
前記鏡面照明項及び拡散照明項のベクトルドット積を並列で求めることによって前記色ベクトルを計算するステップと、
前記描画命令に従って、前記色ベクトルを使用して画像内に前記オブジェクトを描画するステップと、
を含むことを特徴とする方法。
【請求項２８】
複数の光源によるオブジェクトの照明を計算するシステムであって、
ゲーム命令と照明モデルとを格納する手段と、
ゲーム命令を実行し描画命令を生成する手段と、
同一の関数形式で表現されている鏡面照明項と拡散照明項とを有する前記照明モデルで、色ベクトル表す手段と、
前記鏡面照明項及び拡散照明項のベクトルドット積を並列で求めることによって前記色ベクトルを計算する手段と、
前記描画命令に従って、前記色ベクトルを使用して画像内に前記オブジェクトを描画する手段と、
を含むことを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にコンピュータで生成される画像に関し、より詳細には、鏡面反射光の強度を計算する方法に関する。
【背景技術】
【０００２】
コンピュータが生成したオブジェクトの色つき光源及び環境光による照明は、照明モデルによって記述される。照明モデルは、環境照明項、拡散照明項及び鏡面照明項を含む数学的表現である。オブジェクトは、環境光の反射及びオブジェクト表面から照らされる光源の反射によって照明される。したがって、オブジェクトの照明は、環境光、拡散反射光及び鏡面反射光から構成される。環境光及びオブジェクトの周囲に位置する光源がある場合、照明モデルはオブジェクトの反射特性を定義する。被照明オブジェクトが観察者にとって現実のように見えるならば、その照明モデルは正確であるとみなされる。通常、照明モデルは、描画エンジン、ベクトル処理ユニットまたは中央処理装置（ＣＰＵ）によって実行されるプログラム内に組み込まれている。プログラムは、オブジェクトに対する光源の位置を変更したとき、観察者が被照明オブジェクトを異なる角度から観察したとき、またはオブジェクトが回転したときに、オブジェクトの照明を計算することができなければならない。さらに、たとえばオブジェクトが回転する場合のように、プログラムによりリアルタイムで照明の計算をするためには、効率的な照明モデルが必要である。したがって、計算コストが効率的であると同時に、観察者にとって美的に好ましい被照明オブジェクトの画像を生成する項を照明モデルに組み込む必要がある。
【０００３】
環境光は、特定の光源からの直接的な光線によらない一般化された照明である。物理世界では、例えば、頭上の蛍光照明が壁面や室内の物体により多様に反射されて環境光が室内に生じ、全方向的な光の分布を生み出す。環境光によるオブジェクトの照明は、環境光の色とオブジェクトの反射特性との関数である。
【０００４】
拡散光及び鏡面光によるオブジェクトの照明は、光源の色、光源の位置、オブジェクトの反射特性、オブジェクトの方向、及び観察者の位置によって決まる。オブジェクトの表面が粗く光を全方向に散乱させるとき、光源はオブジェクト表面上の一点から拡散反射される。通常、表面粗さのスケール長が光源の波長とほぼ同じかそれ以上のとき、その表面は粗いとみなされる。図１Ａは、オブジェクト表面からの拡散反射を示
2005500629.tif 000003
【０００５】
表面粗さのスケール長が光源の波長よりも遙かに小さい場合、表面は平滑であると見なされ、光は鏡面反射される。鏡面反射光はオブジェクト表面上の一点で全方向には散乱されずに、ある優先方向（ｐｒｅｆｅｒｒｅｄｄｉｒｅｃｔｉｏｎ）に反射される。図１Ｂは、オブジェクト表面からの鏡面反射
2005500629.tif 000004
１５５は、鏡面反射の優先方向である。すなわち、鏡面反射光の強度は
2005500629.tif 000005
される。
【０００６】
通常、物体は光を拡散的かつ鏡面的に反射するものであり、また実在の物理物体に近似したコンピュータ生成オブジェクトの現実的な照明を生成するためには、拡散反射及び鏡面反射の両方を考慮する必要がある。
【０００７】
図２Ａは、オブジェクト表面からの優先方向の鏡面反射を示している。
2005500629.tif 000006
５は反射点Ｐ２２５における表面２２０に垂直な方向を指し、単位ベク
2005500629.tif 000007
察者２４０の方向を指す。入射角θｉ２４５は単位ベクトルｌ２０５と単
2005500629.tif 000008
からの光は、単位ベクトル−ｌ２６０の方向に伝搬し、点Ｐ２２５において表面２２０から鏡面反射される。単位ベクトルは、単位大きさを持つベクトルである。
【０００８】
完全に平滑な表面からの光の反射は、スネルの法則に従う。スネルの法則によると、入射角θｉ２４５は反射角θｒ２５０に等しい。表面２２０が完全に平滑な表面であるとすると、入射角θｉ２４５をもって単位ベクトル−ｌ２６０に沿って進む光源２１０からの光は、点Ｐ２２５におい
2005500629.tif 000009
ここで、θｉ＝θｒである。したがって、表面２２０が完全に平滑な表面であるとすると、光源２１０から−ｌ２６０の方向に進み点Ｐ２２５で鏡面
2005500629.tif 000010
２４０からは検出されない。しかし、表面が完全に平滑でなく、光源２１０から−ｌ２６０の方向に進み点Ｐ２２５で鏡面反射された光は、単
2005500629.tif 000011
鏡面反射光の優先方向を指す。優先方向は、入射光θｉ２４５と反射光θｒ２５０とを等しくすることで特定される。換言すれば、観察者２４０によって測定される鏡面反射強度は角度θｒｖ２５５の関数であり、θｒｖ＝０のとき最大の反射強度となり、θｒｖ２５５が増加するにつれて減少する。すなわち、表面２２０の点Ｐ２２５を見る観察者２４０は、単位ベ
2005500629.tif 000012
面反射強度を検出するが、観察者２４０が位置を変え、角度θｒｖ２３５が増加するにつれて、観察者２４０の検出する鏡面反射強度は減少する。
【０００９】
鏡面反射光の強度を計算する第１の従来技術による方法は、鏡面強度
2005500629.tif 000013
【００１０】
第２の従来技術による方法は、鏡面反射光の強度を別の方法で計算する。例えば図２Ｂは、優先方向におけるオブジェクト表面からの鏡面反射の別の実施形態を示す。単位ベクトルｌ２６５は光源２７０の方向を
2005500629.tif 000014
する。入射角はθｉ２９４であり、反射角はθｒ２９０であり、単位ベク
2005500629.tif 000015
光源２７０からの光は、単位ベクトル−ｌ２７２の方向に伝搬する。入射
2005500629.tif 000016
2005500629.tif 000017
となり、したがって観察者２８８は最大の鏡面反射光強度を検出する。第２の従来技術による鏡面反射強度の計算方法は、第１の従来技術による方法に対して、経験的な鏡面反射データにより一致するという利点がある。
【００１１】
第１及び第２の従来技術による鏡面反射光の強度を計算する方法は、照明モデルの残りの部分である拡散項及び環境項の計算と比較して、計算コストが高い。従来技術により定義された鏡面強度はｃｏｓｎθに比例する。ただし、θ≡θｒｖまたはθ≡θｎｈとする。指数関数である鏡面強度関数ｃｏｓｎθは、整数ｎに対してｎ−１回の乗算を繰り返すことで求めることができるが、これは実用的でない。なぜなら、ｎの典型的な値は容易に１００を超えうるからである。指数ｎが２の累乗に等しいとき、例えばｎ＝２ｍとすると、鏡面強度は二乗を続けてｍ回行うことで計算可能である。しかし、鏡面強度の計算は依然としてコストが高く手が出せな
2005500629.tif 000018
関数及び対数関数を用いることができるが、少なくとも指数演算は、環境照明項及び拡散照明項を計算するのに要する演算よりもかなりのオーダーで低速である。
【００１２】
第３の従来技術による鏡面強度の計算方法は、指数関数の鏡面強度関数を、被照明オブジェクトについて同様の視覚的印象を与えるが指数関数でない別の関数で置き換えるものである。鏡面強度は、代数関数ｈ（ｔ，ｎ）＝ｔ／（ｎ−ｎｔ＋ｔ）によってモデル化される。ここで、ｔ＝ｃｏｓθｒｖまたはｔ＝ｃｏｓθｎｈのいずれかであり、ｎはオブジェクトの鏡面指数を記述するパラメータである。代数関数ｈ（ｔ，ｎ）は指数を含まないが、乗算、加算、減算及び除算演算を含む。これらの代数演算は、通常、指数演算よりもコストが低い。しかし、計算時間は削減されるが、多くのコンピュータアーキテクチャにおいて、除算は依然としてこれらの演算のうち最も低速である。
【００１３】
環境項及び拡散項の計算とより均等な鏡面項の計算を行う一方、観察者を美的に満足させる鏡面反射のモデルを提供できる、コスト効率の高い鏡面強度の計算方法を実現することは有用である。
【発明の開示】
【００１４】
本発明によれば、複数の光源により照明されるオブジェクトからの鏡面反射光の強度を計算する代数的方法が開示される。複数の光源には、点光源と広がりのある（ｅｘｔｅｎｄｅｄ）光源とが含まれる。代数表現
2005500629.tif 000019
ｉ番目の光源によって照明されたオブジェクト上の一点から反射される光の強度を表す。代数表現は、乗算、加算及び減算演算を含む。代数表現は、鏡面反射強度の従来技術によるモデルの結果に近似するが、計算コストはより小さくなる。
【００１５】
鏡面強度の代数表現は照明モデルに代替される。ここで、照明モデルは、環境照明項、拡散照明項及び鏡面照明項を含む。照明モデルはソフトウェアプログラムに組み込まれる。このプログラムは、複数の光源により照明されたオブジェクトによって反射された光の色と強度を表す色
2005500629.tif 000020
らなる。照明モデルにおける鏡面項は、関数形式について拡散項と同等
2005500629.tif 000021
コストの低い手段が得られる。すなわち、環境項及び拡散項を計算し加算するベクトルベースのハードウェアシステムを使用して、非常に小さい追加コストで環境項、拡散項及び鏡面項の計算及び加算を実行することができる。
【００１６】
2005500629.tif 000022
は、ｉ番目の光源によって照明されたオブジェクト上の一点から反射さ
2005500629.tif 000023
値を増加することによって、修正された代数表現は従来技術の鏡面強度関数にさらに近似したものとなるが、計算コストは低下する。
【発明を実施するための最良の形態】
【００１７】
図３は、本発明にしたがった電子エンタテイメントシステム３００の一実施形態のブロック図である。システム３００は、メインメモリ３１０と、中央処理装置（ＣＰＵ）３１２と、ベクトル処理ユニットＶＰＵ３１３と、グラフィック処理ユニット（ＧＰＵ）３１４と、入出力プロセッサ（ＩＯＰ）３１６と、ＩＯＰメモリ３１８と、コントローラインタフェース３２０と、メモリカード３２２と、ユニバーサルシリアルバス（ＵＳＢ）３２４と、ＩＥＥＥ１３９４インタフェース３２６とを含むが、これに限定されない。システム３００は、オペレーティングシステムリードオンリメモリ（ＯＳ  ＲＯＭ）３２８と、サウンド処理ユニット（ＳＰＵ）３３２と、光ディスク制御ユニット３３４と、ハードディスクドライブ（ＨＤＤ）３３６も含み、これらはバス３４６を介してＩＯＰ３１６と接続される。
【００１８】
ＣＰＵ３１２、ＶＰＵ３１３、ＧＰＵ３１４、ＩＯＰ３１６は、システムバス３４４を介して通信する。ＣＰＵ３１２は専用バス３４２を介してメインメモリ３１０と通信する。ＶＰＵ３１３及びＧＰＵ３１４も専用バス３４０を介して通信する。
【００１９】
ＣＰＵ３１２は、ＯＳ  ＲＯＭ３２８及びメインメモリ３１０に格納されたプログラムを実行する。メインメモリ３１０は、予め格納されたプログラムを含むことができ、また、光ディスク制御ユニット３３４を使用して、ＣＤ−ＲＯＭまたはＤＶＤ−ＲＯＭ（図示せず）からＩＯＰ３１６を介して転送されるプログラムも含むことができる。ＩＯＰ３１６は、ＣＰＵ３１２、ＶＰＵ３１３、ＧＰＵ３１４、及びコントローラインタフェース３２０などのシステム３００の他のデバイス間でのデータ交換を制御する。
【００２０】
メインメモリ３１０は、照明モデルを含むゲーム命令を有するプログラムを含むが、これに限定されない。プログラムは、好ましくは光ディスク制御ユニット３３４を介してＣＤ−ＲＯＭからメインメモリ３１０にロードされる。ＣＰＵ３１２は、ＶＰＵ３１３、ＧＰＵ３１４及びＳＰＵ３３２と協働してゲーム命令を実行し、コントローラインタフェース３２０を介してユーザから受け取る入力を使用して描画命令を生成する。ユーザはまた、ＣＰＵ３１２に命令して特定のゲーム情報をメモリカード３２２上に記憶させる。他のデバイスは、ＵＳＢインタフェース３２４及びＩＥＥＥ１３９４インタフェース３２６を介してシステム３００に接続することができる。
【００２１】
ＶＰＵ３１３は、ＣＰＵ３１２からの命令を実行し、照明モデルを使用して被照明オブジェクトと関連する色ベクトルを作成する。ＳＰＵ３３２は、ＣＰＵ３１２からの命令を実行し、オーディオ装置（図示せず）上の出力である音声信号を生成する。ＧＰＵ３１４は、ＣＰＵ３１２とＶＰＵ３１３からの描画命令を実行し、ディスプレイ装置（図示せず）上に表示するための画像を生成する。すなわち、ＧＰＵ３１２は、ＶＰＵ３１３によって生成された色ベクトルとＣＰＵ３１２からの描画命令を使用して、画像内の被照明オブジェクトを描画する。
【００２２】
照明モデルは、環境照明項と、拡散照明項と、鏡面照明項を含む。鏡面項は、鏡面反射関数を代替して照明モデルにすることによって定義される。本発明では、鏡面強度は関数Ｓによってモデル化される。ここで、
2005500629.tif 000024
2005500629.tif 000025
は引数（ａｒｇ）の絶対値を生成する。従来技術の鏡面強度関数と比較して、鏡面強度関数Ｓは、指数演算を含まないだけでなく除算も含まない。したがって、関数Ｓの計算は、従来技術の鏡面強度関数の計算よりもコストがかからない。加えて、関数Ｓのグラフは、従来技術の鏡面強度関数と同様であり、これによって、鏡面反射の妥当なモデルを提供している。
2005500629.tif 000026
トしたものである。鏡面指数パラメータはｎ＝３である。すべての曲線は、θｎｈ＝０のときに最大の鏡面強度となる。各曲線の最大鏡面強度は１．０に等しく、各曲線の最小鏡面強度は０に等しい。加えて、各曲線はθ
2005500629.tif 000027
ときの関数のグラフであり、図４Ｄはｎ＝２００のときの関数のグラフである。鏡面指数パラメータｎが増加するにつれて、各関数の幅は減少することに注意されたい。ここで、各関数の幅は、例えば鏡面強度値０．５において測定することができる。鏡面強度関数の幅と鏡面指数パラメータｎの間の関係について、図５とともに説明する。
【００２３】
図５は、表面の２つの向き（ｏｒｉｅｎｔａｔｉｏｎ）についての鏡面反射の優先方向を示す。単位ベクトルｌ５０５は、光源５０１に向かう方向を指す。光源５０１からの光は単位ベクトル−ｌ５０２に沿って進み、点Ｐ５１０
2005500629.tif 000028
源４０１及び観察者（図示せず）が静止しているので一定である。表面
2005500629.tif 000029
持つオブジェクト５４０の第２の向きでは、−ｌ５０２に沿って進む光は、
2005500629.tif 000030
面強度の最大値１．０を測定する。ｎが大きいと、マテリアルは極度に
2005500629.tif 000031
５の周りの比較的狭い領域に閉じ込められる。ｎが小さいと、マテリアルの光沢は小さくなり、ψ５６０は大きくなり、鏡面反射光は単位ベク
2005500629.tif 000032
【００２４】
したがって、本発明による鏡面強度関数Ｓは、鏡面指数パラメータｎで実現されるように、オブジェクトの鏡面指数を適切にモデル化する。
【００２５】
図７と共に後述するように、本発明の鏡面反射光強度モデルのさらなる利点は、照明モデルにおける鏡面項の形式が環境項及び拡散項のものと近似している点である。したがって、環境項及び拡散項を計算し加算するベクトルベースのハードウェアシステムを使用して、わずかな追加コストで、環境項、拡散項及び鏡面項の計算及び加算を実行することができる。
【００２６】
図６は、複数の光源によるオブジェクトの照明を示す図である。単位
2005500629.tif 000033
６１５は反射点Ｐ６２５で表面６２０に垂直な方向を指し、単位ベクト
2005500629.tif 000034
図６は、複数の点光源６５５と広がりのある光源６６０とを含む。ただ１つの広がりのある光源６６０が示されているが、本発明の範囲は複数の広がりのある光源を包含する。広がりのある光源６６０は、複数の点光源６６５から構成される。鏡面強度は、本発明にしたがって関数
2005500629.tif 000035
目の光源６１０によって照明され、観察者６３５により検出される点Ｐ６２５の鏡面強度である。
【００２７】
2005500629.tif 000036
ここで、Ｄｉはｉ番目の光源６１０によって照明され、観察者６３５によって検出される点Ｐ６２５の拡散強度である。鏡面強度Ｓｉ、拡散強度Ｄｉ
2005500629.tif 000037
反射及び環境光反射により、観察者によって観測される被照明オブジェクトの色及び光強度を記述するために使用される。
【００２８】
2005500629.tif 000038
示す。（Ｒ，Ｇ，Ｂ）空間は、赤（Ｒ）軸７１０，緑（Ｇ）軸７１５及び青
2005500629.tif 000039
０５は、Ｒ軸７１０に沿った要素ｃＲ７２５、Ｇ軸７１５に沿った要素
2005500629.tif 000040
０５の要素ｃＲ７２５、ｃＧ７３０、ｃＢ７３５の値は反射光の色を決定し、
2005500629.tif 000041
【００２９】
2005500629.tif 000042
のＭ個の光源についてのインデックスｉを加算するために使用され、記
2005500629.tif 000043
える演算をする。
【００３０】
2005500629.tif 000044
ｉに関するｊ＝１に対しての加算は、Ｍ個の光源により生成された全ての拡散色ベクトルについての加算であり、インデックスｉに関するｊ＝２に対しての加算は、Ｍ個の光源により生成された全ての鏡面色ベクトルに
2005500629.tif 000045
を生成する鏡面項である。
【００３１】
2005500629.tif 000046
各項は同一の形式である。換言すれば、ｉ番目の光源についての鏡面照
2005500629.tif 000047
ある。したがって、図３のＶＰＵ３１３のようなベクトルベースのコンピュータハードウェアを使用して、拡散項及び鏡面項のベクトルドット積を並列で求めることが可能であり、これによって鏡面項を計算する効率的な手段が得られる。拡散項単独の計算と比較すると、鏡面項と拡散項を共に計算するのに必要なオーバーヘッドはわずかである。加えて、加算はコストのかかる演算ではなく、Ｍ個の拡散項を加算する代わりに、Ｍ個の拡散項とＭ個の鏡面項に対しての加算がなされるので、色ベクト
2005500629.tif 000048
ッドはわずかである。
【００３２】
加えて、各光源ｉ  ６１０について、光源方向ベクトルｌｉ６０５、観
2005500629.tif 000049
いて定数である場合（この仮定は、光源ｉ  ６１０及び観察者６３５がオブジェクト６７０から離れて配置されているときのような特定の環境に
2005500629.tif 000050
６１０について一度だけ計算する必要がある。結果として、拡散項のみの計算と比較した場合、鏡面項及び拡散項の計算によって導入される追加のコストはほとんど無視可能である。これは、オブジェクト６７０の表面６２０上のあらゆる点からの鏡面反射光及び拡散反射光の計算は、Ｍ個の光源があるとすると、ベクトルドット積の並列計算と、２Ｍ個の拡散項と鏡面項の加算のみ含むからである。この計算は、各光源ｉ  ６１０について、オブジェクト６７０の表面６２０上のあらゆる点において、
2005500629.tif 000051
源ｉ  ６１０について、単位ベクトルｎ６１５は、オブジェクト６７０の表面６２０に対して変化する、上記色の式の要素のみである。したがって、鏡面項の計算は、拡散項のみの計算と比較して「ほとんど無料」である。
【００３３】
2005500629.tif 000052
１０の一次導関数は非連続である。すなわち、Ｓ＝０であるとき、θｎｈ
2005500629.tif 000053
きに生じる。例えば、図４Ａを参照して、ｃｏｓθｎｈ＝１−１／３ｓすなわち、θｎｈ＝μ４８．２°のとき、ｎ＝３のときのθｎｈに関するＳの一次導関数は非連続
2005500629.tif 000054
次導関数を持つ。例えば、二次導関数は非連続である。本発明による他
2005500629.tif 000055
導関数及び二次導関数を持つが、より高次の非連続の導関数を持つ。実
2005500629.tif 000056
導関数を持つ。例えば、ｋ＝ｎとすると、修正された鏡面強度関数
2005500629.tif 000057
る。
【００３４】
図６を参照して、修正された鏡面強度関数は、複数の光源によって照
2005500629.tif 000058
ブジェクト６７０についての修正された鏡面強度関数である。
【００３５】
2005500629.tif 000059
2005500629.tif 000060
２０のグラフである。図８Ｂはｎ＝１０について、図８Ｃはｎ＝５０について、図８Ｄはｎ＝２００についてのグラフである。図８Ａから８Ｄの
2005500629.tif 000061
ｋが２の小さい累乗であるとき、乗算を繰り返すことによって低いコストで計算可能である。図８Ｄがｎ＝２００について示しているように、
2005500629.tif 000062
ｃｏｓ２００θｎｈは２００乗の指数演算を必要とし、よりコストのかかる計算である。
【００３６】
本発明を好ましい実施形態を参照して説明した。他の実施形態は、本開示の観点から当業者にとって明らかである。本発明は、上述の好ましい実施形態において記述されたもの以外の構成を使用しても容易に実施することができる。例えば、本発明にしたがって、照明モデルを含むプログラムは、ＣＰＵ、ＶＰＵ、ＧＰＵまたは描画エンジン（図示せず）によってその一部または全体を実行することができる。さらに、本発明は、好ましい実施形態として上述したもの以外のシステムと共に効果的に使用することができる。したがって、好ましい実施形態についてのこれらのまたは他の変形例は本発明によって包含されるように意図されており、添付の特許請求の範囲によってのみ限定される。
【図面の簡単な説明】
【００３７】
【図１Ａ】オブジェクト表面からの拡散反射を示す従来技術の図である。
【図１Ｂ】オブジェクト表面からの鏡面反射を示す従来技術の図である。
【図２Ａ】オブジェクト表面から優先方向への鏡面反射を示す従来技術の図である。
【図２Ｂ】オブジェクト表面から優先方向への鏡面反射の別の実施形態を示す従来技術の図である。
【図３】本発明による電子エンタテイメントシステムの一実施形態のブロック図である。
【図４Ａ】2005500629.tif 000063
【図４Ｂ】2005500629.tif 000064
【図４Ｃ】2005500629.tif 000065
【図４Ｄ】2005500629.tif 000066
【図５】本発明にしたがった、表面の２つの向きについての鏡面反射の優先方向を示す図である。
【図６】本発明にしたがった、複数光源によるオブジェクトの照明を示す図である。
【図７】2005500629.tif 000067
【図８Ａ】2005500629.tif 000068
【図８Ｂ】2005500629.tif 000069
【図８Ｃ】2005500629.tif 000070
【図８Ｄ】2005500629.tif 000071
【図１Ａ】
2005500629.tif 000086
【図１Ｂ】
2005500629.tif 000087
【図２Ａ】
2005500629.tif 000088
【図２Ｂ】
2005500629.tif 000089
【図３】
2005500629.tif 000090
【図４Ａ】
2005500629.tif 000091
【図４Ｂ】
2005500629.tif 000092
【図４Ｃ】
2005500629.tif 000093
【図４Ｄ】
2005500629.tif 000094
【図５】
2005500629.tif 000095
【図６】
2005500629.tif 000096
【図７】
2005500629.tif 000097
【図８Ａ】
2005500629.tif 000098
【図８Ｂ】
2005500629.tif 000099
【図８Ｃ】
2005500629.tif 000100
【図８Ｄ】
2005500629.tif 000101
【国際公開パンフレット】
2005500629.tif 000102
2005500629.tif 000103
2005500629.tif 000104
2005500629.tif 000105
2005500629.tif 000106
2005500629.tif 000107
2005500629.tif 000108
2005500629.tif 000109
2005500629.tif 000110
2005500629.tif 000111
2005500629.tif 000112
2005500629.tif 000113
2005500629.tif 000114
2005500629.tif 000115
2005500629.tif 000116
2005500629.tif 000117
2005500629.tif 000118
2005500629.tif 000119
2005500629.tif 000120
2005500629.tif 000121
2005500629.tif 000122
2005500629.tif 000123
2005500629.tif 000124
2005500629.tif 000125
2005500629.tif 000126
2005500629.tif 000127
2005500629.tif 000128
2005500629.tif 000129
2005500629.tif 000130
2005500629.tif 000131
2005500629.tif 000132
2005500629.tif 000133
2005500629.tif 000134
2005500629.tif 000135
2005500629.tif 000136
2005500629.tif 000137
2005500629.tif 000138
2005500629.tif 000139
2005500629.tif 000140
2005500629.tif 000141
2005500629.tif 000142
2005500629.tif 000143
2005500629.tif 000144
2005500629.tif 000145
【国際公開パンフレット（コレクトバージョン）】
2005500629.tif 000146
【国際調査報告】
2005500629.tif 000147
2005500629.tif 000148