(57)【特許請求の範囲】
【請求項１】
レンダリングされるシーン内の少なくとも１つのオブジェクトに対し照度マップを作成する、コンピュータにより実行する方法であって、前記オブジェクトは、テクスチャ・マッピングされるべきものであり、前記オブジェクトはポリゴンのメッシュとして表現され、前記方法は、
（ｉ）前記オブジェクトにマッピングされるテクスチャ・ピクチャを選択し、前記テクスチャ・ピクチャおよび前記ポリゴンのメッシュを１つの共通した座標系で表現するステップと、
（ｉｉ）前記テクスチャ・マップ内の各ピクセルと前記ポリゴン・メッシュ内の各ポリゴンのと間の交差の位置、領域および重みを求めるステップであって、前記重みが前記交差の領域の前記ピクセルの総領域に対する割合に対応する、ステップと、
（ｉｉｉ）求めた各交差の領域に対し、前記求めた交差の位置での照度情報と前記交差の領域の前記重みとの積を求めるステップと、
（ｉｖ）それぞれのピクセルごとにステップ（ｉｉｉ）で求めた各積を総計し、照度値を求めるステップと、
（ｖ）各前記ピクセルの前記照度値を記憶するステップと、
を備え、各前記ステップはコンピュータにより実行される、照度マップ作成方法。
【請求項２】
前記コンピュータは、ステップ（ｉｉｉ）の前記照度情報を、前記シーンについてシェード・ツリー内のすべてのアクティブな構成要素を評価することにより求める、請求項１に記載の方法。
【請求項３】
前記コンピュータは、ステップ（ｉｉｉ）の前記照度情報を、前記求めた交差の位置での前記シーンに対して定義された各光源の寄与と、前記交差の前記領域の前記重みとの積の総計を求めることによって決定し、前記ステップ（ｉｖ）で前記照度値を前記積の総計のそれぞれを総計することによって得る、請求項１に記載の方法。
【請求項４】
前記コンピュータは、ステップ（ｉｉｉ）において、前記積に、テクセルの拡散色とオブジェクトの拡散色の希望の配合を表す拡散色値を、総計の前にさらに乗算し、ステップ（ｉｖ）において、前記照度値に対し、前記求めた総重みと前記ピクセルの総領域の間の差と、前記拡散値との積、および前記テクセルの周囲色と前記オブジェクトの周囲色の希望の配合を表す周囲色値を加算し、ステップ（ｖ）において、記憶された照度値を最終色として表す、請求項３に記載の方法。
【請求項５】
前記コンピュータは、前記記憶された照度値を、前記テクスチャ・ピクチャ内の色値を置換することによって記憶する、請求項４に記載の方法。
【請求項６】
前記選択されたテクスチャ・ピクチャが色情報を含まない、使用中のジオメトリ・プレースホルダーを含み、前記コンピュータは、前記記憶された照度値を、最終色値を求めるために色情報を含む別の選択されたテクスチャ・ピクチャと結合する、請求項３に記載の方法。
【請求項７】
前記選択されたテクスチャ・ピクチャが色情報を含まない、使用中のジオメトリ・プレースホルダーを含み、前記コンピュータは、前記記憶された照度値を、最終色値を求めるために色情報を含む別の選択されたテクスチャ・ピクチャと結合する、請求項２に記載の方法。
【請求項８】
シーン定義をレンダリングしてイメージを得る際に使用する照度マップを求める、コンピュータにより実行する方法であって、
前記シーン定義から、前記シーンに対し定義された各々の光源の総数と位置とを求めるステップと、
前記シーン定義から、前記シーン内におけるオブジェクトのための位置を求め、前記オブジェクトをモザイク処理されたポリゴン・メッシュとして表すステップと、
前記テクスチャ・マップ内の各ピクセルと前記ポリゴン・メッシュ内の各ポリゴンとの間の交差の重みを求めるステップであって、前記重みは、前記ピクセルの総領域に対する交差の領域の割合に対応する、ステップと、
各前記交差位置において、前記重みと各前記交差位置における前記光源からの寄与とにしたがって照度値を求めるステップと、
前記シーンに関連した照度マップに前記照度値を記憶するステップと、
を備え、各前記ステップはコンピュータにより実行される、方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像をレンダリングするための方法およびシステムに関する。さらに特定すると、本発明は、画像のレンダリングで使用するための照度マップを決定するシステムおよび方法、ならびにこのような照度マップを利用するレンダリング・エンジンに関する。
【０００２】
【従来の技術】
画像を作成するためのレンダリング（描画）・エンジンは周知である。このようなエンジンは、多くの場合、シーン定義と呼ばれる、生成される画像の定義を受け入れ、そこから記憶のための画像を作成し、及び／又は適切な出力手段に出力する。１つのこのようなレンダリング・エンジンは、本発明の譲受人により販売され、高品質でフォトリアリスティック（ｐｈｏｔｏ−ｒｅａｌｉｓｔｉｃ）な画像を作り出すことができる、ＳｏｆｔＩｍａｇｅ｜３Ｄ製品に含まれる「メンタル・レイ（ｍｅｔａｌ  ｒａｙ）」エンジンである。
【０００３】
高品質画像用レンダリング・エンジンの問題の１つに、このような画像をレンダリングする際の計算上の複雑さがあり、その結果、１つ１つの画像のレンダリングに要する時間が多大となる。大部分の場合には、特殊レンダリング・ハードウェア及び／又は分散処理システム、レンダリング時間を短縮するために利用されるが、特にリアルタイムで画像をレンダリングすること、及び／又はより安価なシステムで画像をレンダリングすることが希望される場合、特に、そのレンダリング・ハードウェアが制限されているが、レンダリングのニーズが精密であるセガ・サターン（ＳＥＧＡ  Ｓａｔｕｒｎ）・システム、ソニー・プレーステーション（Ｓｏｎｙ  ＰｌａｙＳｔａｔｉｏｎ）・システム、および任天堂６４（Ｎｉｎｔｅｎｄｏ  ６４）システムなどのゲーム・システムにおいては、長いレンダリング時間は問題のままである。
【０００４】
前記ＳｏｆｔＩｍａｇｅ｜３Ｄの「メンタル・レイ」レンダラー（描画装置：ｒｅｎｄｅｒｅｒ）のような既知のレンダリング・エンジンは、シーン定義を入力として取り、対応するレンダリング済み画像を出力として作成する。このようなシーン定義には、さまざまな３Ｄオブジェクトのジオメトリ定義とそのシーン内での位置、これらのオブジェクトの素材特性（即ち、サーフェスの粗さ、色、トランスペアレンシー（透明度）など）、シーン（場面）内のライトの数、位置、および色、通常はカメラ視点と呼ばれるシーンが見られる視点と位置などが含まれる。ＳｏｆｔＩｍａｇｅ｜３Ｄおよびその他のシステムでは、シーンのレンダリングでのシェイディングについて考慮する必要がある要因は、「シェード・ツリー（ｓｈａｄｅ  ｔｒｅｅ）」と呼ばれる構造に配列される。シェード・ツリーに関する情報は、その内容が参考により本明細書中に取り入れられる、1992年、ＡＣＭ出版社（ＡＣＭ  Ｐｒｅｓｓ）刊のアラン・ワット（Ａｌａｎ  Ｗａｔｔ）およびマーク・ワット（Ｍａｒｋ  Ｗａｔｔ）著「先進アニメーションとレンダリングの技法、理論および実践（Ａｄｖａｎｃｅｄ  Ａｎｉｍａｔｉｏｎａｎｄ  Ｒｅｎｄｅｒｉｎｇ  Ｔｅｃｈｎｉｑｕｅｓ，Ｔｈｅｏｒｙ  ａｎｄＰｒａｃｔｉｃｅ）」、第14章を含むさまざまな出版物に記載されている。「メンタル・レイ」レンダラーでは、「メンタル・レイ・シェイダー（ｍｅｎｔａ
ｌ  ｒａｙ  ｓｈａｄｅｒｓ）」と呼ばれるさまざまな事前に定義された手順関数またはユーザにより定義される手順関数が、シェード・ツリー内で設定され、含まれ、特殊レンダリング効果をレンダリング・プロセスに取り込むことができるようにする。「メンタル・レイ・シェイダー」は、希望に応じて、素材、テクスチャ、ライトなどを含むさまざまなシーン要素に付けることができる。
【０００５】
ＳｏｆｔＩｍａｇｅ｜３Ｄのようなシステムでは、３Ｄオブジェクトをモザイク処理し、定義された３Ｄオブジェクトのポリゴン（多角形）・メッシュ表現を取得し、そのメッシュ内のポリゴンをレンダリングして、３Ｄオブジェクトの妥当な近似を得ることによって多くの３Ｄオブジェクトをレンダリングする計算上の複雑さを削減することが知られている。例えば、球体は、球体を近似してモデリングする三角形のポリゴンのメッシュによって表現でき、メッシュとオブジェクトの間の対応の度合いは、通常、メッシュ中のポリゴンの数によって決定される。
【０００６】
ＳｏｆｔＩｍａｇｅ｜３Ｄでは、オブジェクトを表現するためにモザイク・メッシュで使用されるポリゴンは、効率および簡略さのために好まれる三角形のポリゴンから構成されるので、後述の説明は、おもにこのようなモザイク処理されたポリゴン・メッシュに関する。ただし、当業者にとっては明らかとなるように、本発明は、三角形のポリゴンのメッシュでの使用に限定されず、希望する場合にはさらに多くの面を持つポリゴンでも利用できる。オブジェクトのモザイク処理された表現への変換は周知であり、本明細書中ではさらに記述しない。
【０００７】
ポリゴン・メッシュで表現されるオブジェクトのレンダリングは、スキャンライン（走査線法）またはレイ・トレーシング（光線追跡法）によって実行することができる。レイ・トレーシングでは、最終色は、最終色の一因となる反射、屈折、メンタル・レイ・シェイダーなどを求めるためにピクセルから光の光線を「発射（ｆｉｒｉｎｇ）」することによって、レンダリングされた画像の各ピクセルで決定される。計算上高価ではあるが、レイ・トレーシングは、非常に写実的な結果を生み出すことができる。
【０００８】
スキャンライン・レンダリングでは、どのオブジェクトがカレント（現在の）・ピクセルの前または後ろにあるか（奥行きソーティング（深度分類））についての判断が各ピクセルで下され、それらのオブジェクトが「可視」であるかどうかが判断される。可視オブジェクトは表示され、不可視オブジェクトは省略される。スキャンライン・レンダリングは計算上それほど高価ではないが、大部分の場合特殊目的のグラフィック・ハードウェアによってサポートされ、通常、レイ・トレーシングより低い品質のレンダリングとなる。
【０００９】
スキャンライン・レンダリングおよびレイ・トレーシング・レンダリングの両方において、シェード・ツリーの評価の一部は、頂点シェイディングを判断することである。頂点シェイディングでは、最終色は、スキャンラインまたはレイ・トレーシングによってレンダリング画像では可視となる各ポリゴンの頂点だけにおいて決定される。次に、決定された最終色は、ポリゴンのバランス全体で線形に補間する。頂点でのレンダリングされた最終色は、光源に相対する頂点法線、定義されたサーフェス特性などから決定される。一般的には、レンダリング・ハードウェアは、頂点の色から考えてポリゴンのバランスの線形補間を実行するための機能を具備する。
【００１０】
ポリゴン・メッシュを使用するオブジェクトのモデリングによってレンダリングの複雑さは減少するが、どちらかの手段による頂点色情報の計算、特にレイ・トレーシングによる計算は依然として計算上高価である。
【００１１】
レンダリングされた画像でのもう１つの共通した特徴とは、テクスチャ・マッピングされたサーフェス（表面）を使用することである。任意のサーフェスまたはオブジェクトのテクスチャ・マッピングは、二次元テクスチャ（ピクチャ）をオブジェクト及び／又はサーフェスに投影することから成り、他のオブジェクトの場合と同じように、テクスチャ・マッピングされたオブジェクトは、大部分の場合、レンダリングの目的のためにモザイク処理されたオブジェクトとして表現される。テクスチャ・ピクチャには、有名人の写真のような画像、木目模様仕上げ、大理石などを表現するためのパターンが入る場合があり、通常は、写実的な最終画像または希望の特殊効果を得るのに役立つ。ただし、テクスチャ・マッピングされたオブジェクトおよびサーフェスをレンダリングする場合、スキャンラインであるか、レイ・トレーシングであるか、別のレンダリング・プロセスであるかには関係なく、レンダリング・プロセスは、テクスチャ・ピクチャ内の任意のピクセルのレンダリングに影響を及ぼすモザイク・メッシュ内の各ポリゴンまたはポリゴンの一部を考慮に入れなければならず、これもまた計算上高価である。
【００１２】
レンダリング・エンジンが希望の質の画像を、短縮されたレンダリング時間で作成できるようにするシステムおよび方法を備えることが望まれている。
【００１３】
【発明が解決しようとする課題】
本発明は、従来の技術の少なくとも１つの不利な点を未然に防ぐか、軽減する画像をレンダリングする新規のシステムおよび方法を提供することを目的とする。
【００１４】
【課題を解決するための手段】
本発明の第1の態様に従って、レンダリングされるシーン内の少なくとも１つのオブジェクトに対して、照度マップを作成する方法であって、そのオブジェクトはテクスチャ・マッピングされ、そのオブジェクトはポリゴンのメッシュとして表現され、
（ｉ）前記オブジェクトにマッピングされるテクスチャ・ピクチャを選択し、前記テクスチャ・ピクチャおよびポリゴンの前記メッシュを１つの共通の座標系で表現するステップと、
（ｉｉ）前記テクスチャ・マップ内の各ピクセルと前記ポリゴン・メッシュ内の各ポリゴンの間の交差の位置、交差の領域、および交差の重み（重量）を求めるステップであって、重みが前記ピクセルの総領域に対する交差の前記領域の割合に対応するステップと、
（ｉｉｉ）交差の求められた領域ごとに、前記交差の求められた位置での照度情報と前記交差領域の積を求めるステップと、
（ｉｖ）各ピクセルごとにステップ（ｉｉｉ）で求められたそれぞれの積を総計し、照度値を求めるステップと、
（ｖ）各前記ピクセルごとの前記照度値を記憶するステップと、
から成る方法が提供される。
【００１５】
好ましい態様では、ステップ（ｉｉｉ）の照度情報は、シーンに対して定義されたシェード・ツリー内の構成要素を評価することによって決定される。別の好ましい態様では、ステップ（ｉｉｉ）の照度情報は、前記交差の求められた位置での前記シーンに対して定義されたライト（光）ごとに各ライトの値の総計を求めることにより求められる。
【００１６】
本発明の第２の態様に従って、レンダリングされるシーン内の少なくとも１つのオブジェクトであって、ポリゴンのメッシュとして表現されるオブジェクトに対し照度マップを作成する方法であって、
（ｉ）前記少なくとも１つのオブジェクトを選択するステップと、
（ｉｉ）前記オブジェクトについて、前記ポリゴンのメッシュ内の各ポリゴンの頂点および頂点法線を求めるステップと、
（ｉｉｉ）各ポリゴンの各頂点に関して照度値を求めるステップと、
（ｉｖ）各頂点ごとの前記照度値を記憶するステップと、
から成る方法が提供される。
【００１７】
好ましい態様では、ステップ（ｉｉｉ）の照度情報は、前記交差の求められたシーンで、シーンに対して定義されたシェード・ツリー内の構成要素を評価することによって求められる。別の好ましい態様では、ステップ（ｉｉｉ）の照度情報は、前記交差の求められた位置で前記シーンに対して定義された各ライトの各ライトの値の総計を求めることによって決定される。
【００１８】
本発明の第３の態様に従って、画像を得るためのシーン定義のレンダリングに使用される照度マップを求める方法であって、
（ｉ）シーン定義からシーンに対して定義される各光源の数および位置を決定するステップと、
（ｉｉ）前記シーン定義から、前記シーン内の各オブジェクトの位置を決定し、前記オブジェクトをモザイク処理されたポリゴン・メッシュとして表現するステップと、
（ｉｉｉ）各前記オブジェクト上の注目の（対象となる）ポイントでの照度値を求めるステップと、
（ｉｖ）前記シーン定義に対する照度マップに照度値を記憶するステップと、から成る方法が提供される。
【００１９】
本発明の第４の態様に従って、シーン記述から画像のレンダリングで使用するための照度マップを作成するためのシステムであって、
シーン定義から、シーンに対して定義される各光源の数および位置を決定するための手段と、
前記シーン定義から、前記シーン内の少なくとも１つのオブジェクトの位置を決定し、前記少なくとも１つのオブジェクトをモザイク処理されたポリゴン・メッシュとして表現するための手段と、
前記少なくとも１つのオブジェクト上の注目のポイントでの照度値を求めるための手段と、
前記シーン定義について照度マップに前記求められた寄与を記憶するための手段と、
を具備するシステムが提供される。
【００２０】
【発明の実施の形態】
本発明は、シーン内での各光源の寄与を求めるか、またはシーンに対して定義されるシェード・ツリーのアクティブな構成要素のすべての完全な評価を実行するかのどちらかによって、照度マップの計算を行う。本明細書中で使用されるように、「シェード・ツリー」は、レンダリングされた画像を作成する上でレンダリング・エンジンによって考慮されなければならない構成要素が記憶される適切なデータ構造を含むことが意図される。さらに、このようなシェード・ツリーが、その内のいくつかだけが、ある特定の時点で「アクティブ」となる、さまざまな構成要素を具備することが企図される。例えば、シェード・ツリーが鏡面反射性色情報に関係するさまざまな構成要素を備えることがあるが、これらの構成要素は、ユーザがレンダリング・エンジンに鏡面反射性を無視するように指示するとイナクティブとなる。
【００２１】
照度マップは、レンダリングされるシーン内の注目の（対象となる）ポイントでの照度情報を表すので、この照度マップは、レンダリングされた最終的な画像を得るために、レンダリング・エンジンによって利用される。このようなケースでは、レンダリング・エンジンは、照度マップが定義される任意のオブジェクトに対するシーンに対して定義される光源の影響をさらに考慮しないでシーンをレンダリングし、その結果、計算上はそれほど複雑ではないレンダリングとなるため、レンダリング時間が短縮される。
【００２２】
照度マップは、カメラ視点から独立しているため、オブジェクトに決定される照度マップは、そのオブジェクトを任意の画像内でレンダリングするのに役立ち、その場合、光源、または照度マップを決定する際に使用される他のシェード・ツリーの構成要素は変化しない。したがって、あらかじめ定められた照度マップを利用することにより、その後に画像をレンダリングするためのレンダリング・エンジンの処理時間は短縮され、レンダリング・エンジンがシーン定義をさらに高速に処理したり、さらに複雑なシーンを指定時間内に処理することを可能にする。
【００２３】
さらに、照度マップは、テクスチャ・マッピングで使用されるポリゴン及び／又はテクスチャ・ピクチャの素材とは無関係である。したがって、いったん照度マップが決定されると、オブジェクト及び／又はテクスチャ・ピクチャの素材が変更され、新しい照度マップを決定しなくても希望の通りにレンダリングされることができる。
【００２４】
一般的には、照度マップの作成には、シーン内で注目のポイントを決定し、これらの注目のポイントでのシーン内の照度値を求めることが必要となる。非テクスチャ・マッピング・オブジェクトの場合、注目のポイントは、オブジェクトを表現するメッシュ内でのポリゴンの頂点に一致する。テクスチャ・マッピングされたサーフェスの場合には、注目のポイントを決定することはさらに複雑になり、本明細書中では最初に説明され、非テクスチャ・マッピング・ポリゴン・メッシュのより簡略なケースは後述される。
【００２５】
テクスチャ・マッピングされたサーフェスについての本発明のこの実施の形態により、ユーザは、照度値を求めることが望まれる１つまたは複数のテクスチャ・マップを選択する。当業者には明らかとなるように、考慮に入れなければならないテクスチャ・ピクチャを選択するそれ以外の適切な方法も利用できるが、ＳｏｆｔＩｍａｇｅ｜３Ｄでは、この選択は、シーン定義の概要図中で１つまたは複数のテクスチャ・ノードを選択することによって達成することができる。次に、テクスチャ・ピクチャをマッピングしなければならない１つまたは複数のオブジェクトは、まだそのように表現されていない場合には、適切なモザイク・アルゴリズムを使用して、ポリゴン・メッシュ表現に変換される。
【００２６】
前記ＳｏｆｔＩｍａｇｅ｜３Ｄシステムおよびそれ以外のシステムでは、テクスチャ・マッピングは、投影によってまたはｕｖマッピング（つまりｕｖ空間内で）によって実行することができる。投影される場合、プレーナー（平面）、円筒形、または球形の投影が利用され、このような投影の技法についての説明は、その内容が参考により本明細書中に取り入れられる、前記のアラン・ワットおよびマーク・ワット著「先進アニメーションとレンダリングの技法、理論および実践」に記載される。ｕｖマッピングが利用される場合、テクスチャ・ピクチャはｕｖ座標空間内で表現されるか、ｕｖ座標空間に変換され、その場合、「ｕ」はテクスチャ・ピクチャの水平軸を表し、０．０から１．０の範囲となり、「ｖ」は垂直軸を表し、やはり０から１．０の範囲となる。ｕｖテクスチャ・マッピングしなければならないポリゴン（複数の場合がある）の座標は、それらがすでにｕｖ座標で表現されていない場合にはｘｙｚ空間からｕｖ空間に変換され、その後でマッピングが実行される。
【００２７】
図１は、３ピクセル掛ける３ピクセルの解像度のテクスチャ・ピクチャ４０の概要表現である。当業者には明らかとなるように、このサイズのテクスチャ・ピクチャは、説明を明確にするために選択されたのであり、通常は、実際の使用状況では、はるかに大きな寸法のテクスチャ・ピクチャが利用される。
【００２８】
図２は、このケースでは、４つのポリゴンから成るポリゴン・メッシュである、３Ｄオブジェクト６０の概要表現である。再び、当業者にとっては明らかとなるように、オブジェクト６０は、明確さを期して選択されたのであり、本発明では複雑さがさらに高い３Ｄオブジェクトが使用可能であり、使用されるだろう。例えば、三次元オブジェクトはポリゴン・メッシュ、ナーブス（ｎｕｒｂｓ：一般的なパラメター指定による有理Ｂスプライン：ｎｏｎ−ｕｎｉｆｏｒｍ  ｒａｔｉｏｎａｌ  Ｂ−ｓｐｌｉｎｅ）またはパッチ・サーフェスなどとなる場合がある。
【００２９】
図３は、ポリゴン６０をｕｖ空間でモザイク処理された表現８０に変換した結果を示し、この場合オブジェクトは８個の三角形のポリゴン８４から１１２で表現され、各三角形の頂点の座標が、ｕｖ空間に表示されている。
【００３０】
図４は、テクスチャ・ピクチャ４０を３Ｄオブジェクト６０のモザイク処理された表現８０の上に投影した結果を示す。例として、ポリゴン１０８の頂点は、（０．０，０．５），（０．５，０．０）および（０．５，０．５）にある。この例ではテクスチャ・ピクチャ４０は、完全にオブジェクト６０上にマッピングされていたが、当業者にとっては、必ずしもこうである必要はなく、希望される場合には、テクスチャ・ピクチャ４０の注目の矩形領域だけがオブジェクト６０にマッピングされるように、テクスチャ・ピクチャ４０をフロッピング（トリミング）することができることは明らかだろう。
【００３１】
次に、オブジェクト６０上のテクスチャの各ピクセルが占める領域は、ｕｖ空間で、ｄｕ＝１．０／幅およびｄｖ＝１．０／高さから求められ、この場合、幅はテクスチャ・ピクチャ４０のフロッピングされた領域の（ピクセル単位での）水平解像度であり、高さとはテクスチャ・ピクチャ４０のフロッピングされた領域の（ピクセル単位での）垂直解像度であり、したがってポリゴン・ピクセルによって占められる領域は（ｄｕ*ｄｖ）である。
【００３２】
次のステップは、オブジェクト上の注目の（対象となる）ポイントに関するデータを収集することで、注目のポイントは、オブジェクト上の任意のポリゴンと、本明細書中ではテクセル（ｔｅｘｅｌ）と呼ぶ、テクスチャ・ピクチャ４０のフロッピングされた領域内の任意のピクセルの間の交差ごとに発生する。注目の各ポイントには、それに対応する重量（重み）があり、交差の領域のサイズに対応する重量（重み）は、テクセルの総領域に対応する。ポリゴンとテクセルの間の交差には、図５の（ａ）から図５の（ｈ）に図示されるように、複数のカテゴリが考えられ、交差の領域はハッチングされたポリゴンによって表現される。
【００３３】
図５（ａ）は、ポリゴン１２０とテクセル１２４の領域の間に交差領域のない平凡なケースを示し、ポリゴン１２０はテクセル１２４に関してゼロ重量となり、このテクセルについては何の情報も記憶されないだろう。図５の（ｂ）は、１００％の加重（重み付け）という結果になる、ポリゴン１２０とテクセル１２４の領域の間の完全交差の上記以外の平凡なケースを示す。
【００３４】
図５の（ｃ）、図５の（ｄ）、および図５の（ｅ）は、ポリゴン１２０の単一の頂点がテクセル１２４の領域内に入る例を示す。このようなケースでは、交差の領域を表すポリゴンは、これらの図のそれぞれに図示されるように３個、４個または５個の頂点を持つことができる。ポリゴン１２０に対する重量（重み）を求めるために、交差の領域が適切な手段により決定される。本発明のこの実施の形態においては、本明細書中に参考によって取り込まれるカリフォルニア州サンディエゴのアカデミック出版社（Ａｃａｄｅｍｉｃ  Ｐｒｅｓｓ）によって１９９１年に出版された、ジェームズ・アブロ（Ｊａｍｅｓ  Ａｖｒｏ）著の「グラフィックス・ジェムＩＩ（Ｇｒａｐｈｉｃｓ  Ｇｅｍｓ  ＩＩ）」の第１．１項の５−６ページに、ジョン・ロックン（Ｊｏｎ  Ｒｏｋｎｅ）によって記述され、そのポリゴンの領域を計算するためにはポリゴンの頂点の座標が既知であることだけを必要とするアルゴリズムを使用して、交差の領域が決定される。
【００３５】
（図中ではハッチングされたポリゴンである）交差領域の頂点は、任意の適切な方法で決定することができ、本発明のこの実施の形態においては、これは、前記「グラフィックス・ジェムＩＩ」参考の第１．２項の７−９ページで、ムケッシュ・プラサド（Ｍｕｋｅｓｈ  Ｐｒａｓａｄ）によって記述されるアルゴリズムを使用して達成される。
【００３６】
図５の（ｆ）および図５の（ｇ）は、ポリゴン１２０の２つの頂点がテクセル１２４内に入り、その結果、それぞれ図示されるように、４個または５個の頂点を持つ交差領域の形状が生じ、これらの交差ポリゴンの領域は、前記の方法と同じ方法で決定される例を示す。
【００３７】
図５の（ｈ）は、ポリゴン１２０の3個すべての頂点がテクセル１２４内に入り、その結果、ポリゴン１２０の形状（および領域）に一致する交差領域が生じる例を示す。
【００３８】
図６の（ａ）および図６の（ｂ）は、ポリゴン１２０の１つの縁（エッジ）を除きどの頂点もテクセル１２４と交差しない、それぞれ３個および４個の頂点を持つ交差領域の形状が生じる例を示す。図６の（ｃ）および図６の（ｄ）は、ポリゴン１２０の２つの縁を除きどの頂点もテクセル１２４と交差しない、それぞれ５個および６個の頂点を持つ交差領域の形状が生じる例を示す。
【００３９】
最後に、図６の（ｅ）は、ポリゴン１２０の３つの縁を除きどの頂点もテクセル１２４と交差しない、６個の頂点を持つ交差領域の形状が生じる例を示す。
【００４０】
それから、テクスチャ・ピクチャ４０のクロッピングされた領域内の各テクセルに、図７の１４０で図示されるデータ構造が作成され、テクスチャ・ピクチャ４０全体またはその矩形サブ領域を構成する。データ構造１４０は、後述されるように、テクセルについて注目のポイントに関係する情報を含む、各テクセルに関連する情報を記憶する。
【００４１】
各データ構造１４０は、正規化されたＲＧＢ色空間（つまり、０．０と１．０の間のＲ、０．０と１．０の間のＢ、および０．０と１．０の間のＧ）内のテクセルに対して求められる拡散色値１４４、正規化されたＲＧＢ色空間内のテクセルに対して求められる周囲色値１４８、テクセルに対して注目のポイントの数１５２、および注目のポイントのそれぞれの情報を記憶するデータ構造１６４のリンク・リスト１６０を指すポインタ１５６を記憶する。
【００４２】
図示されるように、リンク・リスト１６０中の各ノード１６４は、ｘｙｚ座標空間中の各ポリゴンとテクセルの間の交差の領域の決定された中心である位置１６８、ｘｙｚ座標で空間の位置１６８で決定されたサーフェス法線１７２、重量（重み）１７６、および次のノードを指すポインタ１８０を含む。リンク・リスト１６０は、ポインタ１８０がヌル（空）である場合に終了する。各ノード１６４およびデータ構造１４０の関連する前記値を求める方法を下記に説明する。
【００４３】
各ノード１６４内の重み１７６の値は、テクセルの総領域に相対するポリゴンとテクセルの交差の領域として求められる。例えば、図４では、ポリゴン９６と右上隅のテクセルの交差領域の重みは、交差のポリゴンの頂点が｛（０．５，０．０），（１．０，０．０），（１．０，１．０），（０．０，１．０）および（０．０，０．５）｝であると仮定すると、０．８７５、つまり
＝交差の領域／テクセルの領域
【００４４】
【数１】
0004111577.tif 000002
【００４５】
となると決定される。
【００４６】
明らかになるように、任意のテクセルについて各ノード１６４の重量１７６の総計は１を上回ることはできない。
【００４７】
三角形のモザイク・ポリゴンの場合、位置１６８は、後述のように決定される。非三角形ポリゴンが、矩形ポリゴンやその類似物のようにモザイク・メッシュ・ポリゴンとして利用される場合、当業者が思い出すように、位置１６８および法線ベクトル１７２を決定するための適切な技法が利用できる。
【００４８】
三角形ポリゴンの場合、交差の領域の中心は、最初に、交差の領域内の各頂点のｕ構成要素（成分）を総計し、その結果を頂点数で除算し、中心のｕ座標を決定し、ｖ成分でも類似したプロセスを実行し、中心のｖ座標を得ることによって決定される。次に、前記で決定されたｕｖ座標中心およびポリゴンの頂点のｕｖ座標を使用して、ポリゴン内の交差の領域の中心について、重心座標が決定される。
【００４９】
当業者により理解されるように、重心座標系とは、ポイントの所定の集合に関連するものであって、重心座標系についての説明は、Ａ．Ｋ．ピーターズ社（ＡＫ  Ｐｅｔｅｒｓ  Ｌｔｄ．）により出版されたウルフギャング・ボーヒム（Ｗｏｌｆｇａｎｇ  Ｂｏｅｈｍ）およびハルムット・プローチッヒ（Ｈａｒｔｍｕｔ  Ｐｒａｕｔｚｓｃｈ）著の「ジオメトリ設計のジオメトリ概念（Ｇｅｏｍｅｔｒｉｃ  Ｃｏｎｃｅｐｔｓ  ｆｏｒ  Ｇｅｏｍｅｔｒｉｃ  Ｄｅｓｉｇｎ）」（ＩＳＢＮ１−５６８８１−００４−０）第１０章、１９９４年シアトルのワシントン大学コンピュータ科学工学部、技術レポート８９−０９−１６、トニー・デローズ（Ｔｏｎｙ  Ｄｅｒｏｓｅ）の「座標なしジオメトリ・プログラミング（Ｃｏｏｒｄｉｎａｔｅ−Ｆｒｅｅ  Ｇｅｏｍｅｔｒｉｃ  Ｐｒｏｇｒａｍｍｉｎｇ）」、およびデービスにあるカリフォルニア大学により出版される、ワールドワイド・ウェブ（アドレス：ｈｔｔｐ：／／ｍｕｌｄｏｏｎ．ｃｓ．ｕｃｄａｖｉｓ．ｅｄｕ／ＧｒａｐｈｉｃｓＮｏｔｅｓ／Ｂａｒｙｃｅｎｔｒｉｃ−Ｃｏｏｒｄｉｎａｔｅｓ／Ｂａｒｙｃｅｎｔｒｉｃ−Ｃｏｏｒｄｉｎａｔｅｓ．ｈｔｍｌ）上の「オンライン・コンピュータ・グラフィックス・ノート（Ｏｎ−Ｌｉｎｅ  Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ  Ｎｏｔｅｓ）」に記載され、これらの出版物のそれぞれの内容は本明細書中に参考により取り込まれる。したがって、計算された重心は、ｘｙｚ空間内の交差の領域の中心を決定するために、ポリゴンの頂点のｕｖ空間座標およびｘｙｚ空間座標で使用される。これが、ノード１６４内に記憶される位置値１６８である。
【００５０】
次に、中心の前記に決定された重心座標は、決定された中心での補間されたサーフェス法線を決定するために、ポリゴンの法線がｘｙｚ空間で使用される。これが、ノード１６４に記憶される法線ベクトル値１７２である。
【００５１】
ノード１６４の値の計算が完了すると、それぞれ拡散色（Ｄｉｆｆｕｓｅ  ｃｏｌｏｒ）および周囲色（Ａｍｂｉｅｎｔ  ｃｏｌｏｒ）を表す値１４４および１４８が、データ構造１４０について求められる。拡散色１４４は、付録Ａの等式１から求められ、この場合、配合（Ｂｌｅｎｄｉｎｇ：混合）値は、テクセル単位でテクセルに対して、あるいはテクスチャ・ピクチャに対してグローバルに、または両方の組み合わせによってテクセルに対して定義され、素材拡散色およびテクセル拡散色の拡散色（Ｄｉｆｆｕｓｅ  Ｃｏｌｏｒ）に対する相対的な寄与を定義する。素材拡散色とは、テクスチャが付けられているオブジェクトに対して定義される拡散色である。ピクセル色とは、テクスチャ・ピクチャ内のテクセルに対して定義される色である。また、テクスチャ拡散係数（ファクタ）は、０．０から１．０の範囲で適切な方法で設定される変数であり、拡散色（Ｄｉｆｆｕｓｅ  ｃｏｌｏｒ）の明暗度（強度）を希望通りに調整するために使用される。
【００５２】
同様に、周囲色１４８は、付録Ａの等式２から求められる。この場合、配合値は、前記の通りである。素材周囲色は、テクスチャが付けられているオブジェクトに対して定義される周囲色である。テクスチャ周囲係数（ファクタ）は、前記のテクスチャ拡散係数に類似し、周囲色の明暗度（強度）を希望通りに変化させることができるようにする。ピクセル色とはテクセルの色である。また、シーン周囲色は、シーンに対して定義できるグローバル周囲色である。本発明のこの実施の形態においては、それぞれの色は、正規化されたＲＧＢ色空間（Ｒ値、Ｇ値およびＢ値は、それぞれ０．０と１．０の間である）で表現される。ＳｏｆｔＩｍａｇｅ｜３Ｄにおいては、オブジェクトはそれに対して明白に定義された素材がない場合、デフォルトの素材（周囲色および拡散色）が利用される。
【００５３】
データ構造１４０およびそのそれぞれのノード１６４内の値がいったん求められると、注目のポイントがレンダリングされる。具体的には、ライトの数とその位置を決定するために、シーン定義が調べられる。本発明のこの実施の形態においては、ライトがシーンに対して定義されていない場合、デフォルトの光源が利用され、光源はシーン要素から無限距離に位置される。
【００５４】
本発明のこの好ましい実施の形態において、データ構造１４０およびノード１６４  の作成、ならびにそのそれぞれの値の決定は、ポリゴン単位で行われる。具体的には、モザイク・メッシュ内のポリゴンに対して、テクセルの矩形外接ボックス（境界ボックス）が決定され、外接ボックスは、ある特定のポリゴンと交差できるそれらのテクセルの範囲を限定する。したがって、外接ボックス内のテクセルのそれぞれが代わりに考慮され、考慮されているテクセルがポリゴンと交差すると、まだそのテクセルに対して存在していない場合にはデータ構造１４０が作成され、ノード１６４が適切な値で作成され、テクセルについてリンク・リスト１６０に追加され、テクセルについて注目のポイントの数を表す値１５２が適切なデータ構造１４０で更新される。ポリゴンの外接ボックス内のテクセルのすべてが考慮されると、プロセスは次のポリゴンについて反復される。
【００５５】
すべてのポリゴンが考慮されると、レンダリング・プロセスは、図８および図９に図示されるように進む。具体的には、データ構造１４０が作成されたテクスチャ・ピクチャ４０のクロッピングされた部分内の各テクセルが考慮される。図示されるように、第１テクセルはステップ２００で選択され、ステップ２０４では、テクセルの最終色および総重みは両方ともゼロに初期化される。ステップ２０８では、注目のすべてのポイントがテクセルに対して定義されたかどうかが判断される。テクセルに対して定義された注目のポイントがない場合、プロセスは図９のステップ２４８に進む。
【００５６】
ステップ２０８では、テクセルについて１つまたは複数の注目のポイントが定義されたと判断され、プロセスはステップ２２０に進み、そこでは、テクセルについて第１の注目のポイントが選択され、その注目のポイントに求められた重み１７６がステップ２２４で総重み値に蓄積される。ステップ２２８では、第１のライトがシーンに対して定義されたライトから選択される。前記のように、シーンに対してどのライトも設定されていない場合、プロセスは無限距離にあるデフォルトのライトを利用する。
【００５７】
ステップ２３２では、注目のポイントの法線ベクトル１７２およびこの決定されたライトの色と重み１７６の積を使用して、ライトの色が位置１６８で決定され、拡散色（Ｄｉｆｆｕｓｅ  ｃｏｌｏｒ）の値１４４がテクセルの最終色値に加算される。ステップ２３６では、考慮されるべきライトが残るかどうかについて判断が下され、残る場合には、残りのライトのそれぞれにステップ２２８および２３２が反復され、ライトの色と重みの積がテクセルの最終色値に蓄積（つまり総計）される。
【００５８】
ステップ２４０では、注目のポイントが考慮中のテクセルについて考慮されるために残るかどうかについて判断が下される。注目のポイントが考慮されるために残る場合、プロセスは、注目の残りのポイントのそれぞれに、ステップ２２０から２４０を反復する。
【００５９】
テクセルについて注目のすべてのポイントが処理されると、プロセスは、拡散色値１４４と、ある重みと総蓄積重みの差の積が最終色に加算されるステップ２４８に進んでから、プロセスは、総重みと周囲色値の積が最終色に加算されるステップ２５０に進む。
【００６０】
ステップ２１６では、データ構造１４０のあるすべてのテクセルが考慮されたかどうか判断される。考慮されるべきテクセルが残っている場合、プロセスは各テクセルに対してステップ２００から２５０を反復する。残っていない場合には、レンダリング・プロセスは、テクスチャ・ピクチャ４０の各テクセルに記憶された色情報をプロセスによって求められた対応する最終色値で置き換えて、ステップ２５２で完了する。
【００６１】
付録Ａの等式３は、ステップ２５２でさらに詳細にテクセル色情報を置き換えるために使用される最終色の計算を示す。等式では、「ｎｂｐ」とはテクセルの注目のポイントの数であり、「ｎｂｌ」はシーンに対して定義されるライトの数であり、周囲色（Ａｍｂｉｅｎｔ  ｃｏｌｏｒ）とは周囲色値（Ａｍｂｉｅｎｔｃｏｌｏｒ  ｖａｌｕｅ）１４８であり、拡散色とは拡散色値（Ｄｉｆｆｕｓｅ  ｃｏｌｏｒ  ｖａｌｕｅ）１４４であり、ライト1（ｌｉｇｈｔ1 ）は、位置１６８および法線１７２のライトの値である。前記のように、ＳｏｆｔＩｍａｇｅ｜３Ｄでは、色は０．０から１．０の範囲のＲ値、Ｇ値およびＢ値として表現されるため、等式３の結果は、必要な場合、強制的に０．０から１．０の範囲内とされる。つまり、赤＝１．０３１は赤１．０に切り捨てられ、青０．０１は０．０に切り捨てられる等である。
【００６２】
それから、最終画像のレンダリングは、本発明のこの実施の形態から生じるテクスチャ・ピクチャ４０の修正バージョンを使用する前記メンタル・レイ・レンダリング・エンジン、および「メンタル・レイ」レンダリング・エンジンでの場合に、シーン内のライトの寄与がレンダリング・エンジンによってさらに考慮されないように、そのシェイディング・モデル（ｓｈａｄｉｎｇ  ｍｏｄｅｌ）が起動解除される、つまり「一定」に設定されるように構成されるレンダリング・エンジンによるなどの任意の適切な方法で達成される。
【００６３】
当業者にとって明らかとなるように、テクスチャ・ピクチャ４０の照度値をあらかじめ定めることによって、レンダリング・エンジンの計算上の要件は削減される。やはり明らかになるように、修正されたテクスチャ・ピクチャ４０はカメラ視点から独立しており、テクスチャ・ピクチャ４０をさらに修正することを必要とせず、レンダリング・エンジンにシーンに対して定義されるライトの寄与を考慮することを必要とせずに、視点を変更できるようにする。
【００６４】
光源の寄与だけが考慮される前記実施の形態においては、本発明は、オブジェクトの鏡面反射情報を作成しないことに注意する必要がある。多くのケースで、鏡面反射性および鏡面反射効果は必要とされていないため、これは過度に不利な点ではない。
【００６５】
しかし、鏡面反射性が望まれる場合、それらを、当業者には明らかとなるように、鏡面反射性がない同じ画像のレンダリング時間に比較してレンダリング時間が増加することを犠牲にしても、画像をレンダリングする時点でレンダリング・エンジンによって決定され、本発明に従って作成される画像情報と結合できることが企図される。鏡面反射性が任意のシーン内の制限された数のオブジェクトだけに希望される場合には、これによるレンダリング時間の増加は重大な問題を提起しない可能性がある。
【００６６】
さらに、シーンに対して定義されるシェード・ツリーのアクティブな構成要素のすべてを評価する後述の実施の形態は、希望される場合、鏡面反射性を生成する。
【００６７】
前記プロセスは、本来、本明細書中で「照度マップ（ｉｌｌｕｍｉｎａｔｉｏｎ  ｍａｐ）」と呼ばれる、シーンの光源のシーン内の注目の点に対する寄与を表す情報の計算、およびテクスチャ・ピクチャの新しい色値を求めるために、それらの注目のポイントでのオブジェクトの色を照度マップ値と結合することから成る。しかし、本発明は、テクスチャとは無関係にシーンの光源の寄与の事前レンダリングを可能にする照度マップ値の記憶も実現する。具体的には、前記プロセスを修正することにより、本発明は、後でテクスチャ・ピクチャ４０と希望されるように結合できる照度マップを作成することができる。
【００６８】
照度マップを作成するために、図８および図９のプロセスが、以下に示すように修正される。ステップ２３２で、ライトの色および重み１７６の積がテクセルの照度値に蓄積（総計）される。ステップ２４０では、テクセルについて考慮されるべき追加の注目のポイントが残っていないと判断されると、プロセスは前記のようにステップ２４８および２５０にではなく、ステップ２１６に進む。この実施の形態では、周囲の寄与および拡散の寄与を扱うステップ２４８およびステップ２５０は、必要とされず、省略される。ステップ２１６で、さらに考慮すべきテクセルがない場合、プロセスは結果の照度値を記憶し、照度マップを得ることによって、ステップ２５２で完了する。照度マップの照度値の計算は、さらに詳細に付録Ａの等式４で説明され、その場合、「ｎｂｐ」および「ｎｂｌ」は前記と同じ量を表す。このプロセスでは、テクセルは、テクスチャ・ピクチャが各オブジェクトにマッピングされるときに発生する交差に関する情報を決定するために利用されるジオメトリ・プレースホルダー（ｇｅｏｍｅｔｒｉｃ  ｐｌａｃｅｈｏｌｄｅｒ）にすぎないことに注意する必要がある。
【００６９】
シーンをレンダリングする場合に照度マップを利用するために、照度マップの照度値はテクスチャ・ピクチャ・マップ４０内のテクセルのテクセル色、およびオプションで周囲色と結合され、付録Ａの等式５に示されるようにレンダリングされた色を取得する。
【００７０】
いったんシーンに対して照度マップが決定されると、テクスチャは希望の通りに変更及び／又は置換を行うことができる。例えば、シーンは、木目模様仕上げのテクスチャがマッピングされた壁でレンダリングすることができる。それから、例えば、壁に大理石（ｍａｒｂｌｅ）テクスチャがマップされたゲームの違うセットとして、シーンをレンダリングし直すことができる。それぞれのケースでは、同じ照度マップがレンダリング・プロセスで利用されるため、一度照度マップがシーンに対して決定されると、そのシーンをレンダリングするレンダリング時間は短縮される。本発明はこのような使用に制限されないが、照度マップの使用が、セガ・サターン、ソニー・プレーステーション、任天堂６４またはその類似物のようなゲーム・システムで使用されるもののようなレンダリング・エンジンにとって特に有効となることが企図される。
【００７１】
前記のように、テクスチャ・マッピングされたオブジェクトのレンダリングされた色を決定することに加えて、本発明は、非テクスチャ・マッピング・オブジェクトのレンダリングにも使用できる。具体的には、前記ＳｏｆｔＩｍａｇｅ｜３Ｄ製品およびそれ以外の多くの製品において、オブジェクトは、オブジェクトを表現するために使用されるポリゴン・メッシュからレンダリングされる。このようなオブジェクトが、それらの上に投影されるテクスチャ・マップなしにレンダリングされる場合、レンダリング・エンジンはメッシュ内の可視ポリゴンごとに、ポリゴンの各頂点でのレンダリングされた色およびポリゴンの法線ベクトルを決定し、これらのレンダリングされた色はポリゴン・サーフェス全体で線形に補間される。ポリゴン・サーフェス全体での頂点色の線形補間は、入力として頂点色およびポリゴンの法線ベクトルを受け入れてから、ポリゴンの表示されたピクセルにレンダリングされた色を決定するレンダリング・ハードウェアが大部分の場合提供されるほど、一般的に利用される動作である。このようなレンダリング・ハードウェアは大幅にオブジェクトのレンダリングに要する時間を改善するが、レンダリング・エンジンは依然として可視ポリゴンごとに頂点色を決定しなければならず、これは多くのシステムでの多大な計算要件を表す。
【００７２】
したがって、本発明の別の実施形態では、照度マップは、ポリゴンとして表現されるレンダリング・オブジェクトについて決定することができる。このプロセスは、ユーザが、照度マップが決定されなければならない１つまたは複数のオブジェクトを選択することから開始する。ＳｏｆｔＩｍａｇｅ｜３Ｄでは、この選択は、シーン内のオブジェクトの階層の概要表示から、あるいは「全オブジェクト（Ａｌｌ  ｏｂｊｅｃｔ）」モードを選択することによって実行できる。言うまでもなく、考慮するためにオブジェクトを選択するそれ以外の適切な方法を、希望通りに利用することができる。いったん考慮しなければならないオブジェクトが選択されると、プロセスは下記のように続行する。
【００７３】
前記テクスチャ・マッピング実施の形態に類似するこの実施の形態では、注目のポイントは、各ポリゴンの頂点であり、照度マップにはこれらの頂点ごとの照度値が記憶される。この照度マップは、最終色を得るために頂点色と結合するか、後で使用するために頂点色とは無関係に記憶することができる。前記実施の形態の場合でのように、照度マップを決定し、使用することにより、レンダリング・エンジンによって実行されなければならない計算は削減されるため、レンダリング時間は短縮されるか、同時にさらに複雑なシーンをレンダリングできるようになる。
【００７４】
ポリゴン・メッシュ・オブジェクトの頂点の最終色値の決定は、図１０に説明される。具体的には、ステップ３００で、第1の頂点が選択され、ステップ３０４で頂点の初期の拡散色および周囲色が決定され、総計される。初期拡散色とは、オブジェクトを構成する素材に対して定義される拡散色である。同様に、初期周囲色とは、素材の周囲色とシーン周囲色の積である。ステップ３０６では、最終色値が周囲色値に初期化される。次に、ステップ３０８で、シーン内のライトが選択され、ステップ３１２で、頂点での選択されたライトのライトの色が決定され、素材の拡散色値で乗算され、最終色に加算される。
【００７５】
ステップ３１６では、考慮されるべきライトが残っているかどうか判断され、まだ考慮されていなかったシーンに対して定義されるライトがあるならば、プロセスはステップ３０８に反転する。すべてのライトが考慮されたら、プロセスはステップ３２０に進み、そこでは、処理のための頂点が残っているかどうかが判断される。１つまたは複数の頂点が処理のために残っている場合、プロセスはステップ３００に反転する。いったんすべての頂点が処理されると、プロセスは、最終色値が適切に記憶されるステップ３２４で完了する。
【００７６】
最終色値は、一時ファイル内に、ポリゴン・メッシュの定義内に、あるいはメッシュ・ポリゴンの頂点が割り当てられる新規素材の定義度として、あるいは当業者が思い出すあらゆるそれ以外の適切な方法で記憶することができる。
【００７７】
明らかになるように、より簡略であるが、図１０のプロセスは、テクスチャ・マッピングされたサーフェスに使用される図８および図９のプロセスに類似している。さらに、図８および図９のプロセスを使用する場合と同様に、本発明のこの実施の形態も、最終色値よりむしろ照度マップを作成するために容易に修正できる。具体的には、照度マップを作成するには、ステップ３０４での初期周囲色値がゼロに設定され、付録Ａの等式６で計算される照度値は、付録Ａの等式７を使用してポリゴン頂点の最終色値を作成するためにその後に使用できる照度マップとしてステップ３２４で記憶される。
【００７８】
前記のように、本発明の別の実施の形態では、考慮されている注目のポイントに対する各光源の寄与だけを考慮することによって、照度情報を判断する代わりに、シーンのシェード・ツリー全体のアクティブな構成要素の評価が利用される。具体的には、「シェード・ツリー」のアクティブな構成要素は、任意の注目のポイントで、その注目のポイントに垂直なサーフェスに沿って光線を「発射」することによって評価される。当業者にとって明らかとなるように、前記実施の形態のように、結果として生じる照度値は、色及び／又はテクスチャを含めて最終色を表現することができるか、あるいは後でオブジェクトの色またはテクスチャと結合され、最終色を得ることができる。レイ・トレーシングおよびシェード・ツリーの評価は周知であり、本明細書中ではこれ以上説明しない。
【００７９】
シェード・ツリーの完全な評価によって求められる照度値は、「メンタル・レイ」レンダリング・エンジンの場合には、素材、雰囲気、またはそれ以外の効果を定義するためにシーンに適用されるアクティブな「メンタル・レイ・シェイダー」の影響も含むだろう。シェード・ツリーのアクティブな構成要素の完全な評価による照度値の決定は、前記の評価に非常に類似しており、必要とされるデータ構造は図１１に示され、プロセスは図１２、図１３に図示される。
【００８０】
図７を参照して前記に記述された光源寄与だけの実施の形態の場合と同様に、図１１は、テクスチャ・ピクチャ４０のクロッピングされた領域内のテクセルごとに作成されるデータ構造４００を示す。各データ構造４００は、正規化されたＲＧＢ色空間内のテクセルについて求められる色値４０４、テクセルの注目のポイントの数４０８、およびこれらの注目のポイントのそれぞれの情報を記憶するデータ構造４１６のリンク・リスト４１４を指すポインタ４１２を記憶する。
【００８１】
図示されるように、注目のポイントの各データ構造４１６には、各ポリゴンとＸＹＺ座標空間のテクセルとの交差の領域の決定された中心である位置４２０とＸＹＺ空間の位置４２０で決定され、沿って光線がレイ・トレーシング動作で「発射」される法線であるサーフェス（表面）法線４２４とを含む。また、データ構造４１６は、重み４２８およびリンク・リスト４１４の次のデータ構造４１６を指すポインタ４３２も含む。
【００８２】
シェード・ツリーのアクティブな構成要素を評価することにより照度マップを作成するためのプロセスは、図１２および図１３に示される。この実施の形態では、そのためにデータ構造４１６が作成されたテクスチャ・ピクチャ４０のクロッピングされた領域内のそれぞれのテクセルが考慮される。図示されるように、第１のテクセルはステップ５００で選択され、ステップ５０４では、最終色値および重みの値がゼロに初期化される。ステップ５０８では、テクセルにそれについて定義された注目のポイントがあるかどうかが判断される。注目のポイントがない場合、処理は下記のようにステップ５３２に進む。
【００８３】
考慮されているテクセルはそれについて定義された１つまたは複数の注目のポイントを有する場合、処理は注目の各ポイントを考慮することにより続行する。ステップ５１２では、第１の注目のポイントが選択され、注目のポイントと結びついた重みはステップ５１６で総重みに総計される。ステップ５２０では、注目のポイントでの色がシェード・ツリーのアクティブな構成要素のすべてを評価することによって決定され、決定された色と重みの積が最終色値に総計される。ステップ５２４では、考慮されるべき注目の追加ポイントが残されているかどうかが判断される。このような注目のポイントが残っている場合には、ステップ５１２から５２４が注目のポイントごとに反復される。注目のすべてのポイントが考慮されると、総重みが１．０を下回るかどうかについての判断がステップ５３２で下される。この条件が偽であると、プロセスはステップ５４２で、下記のように続行し、この条件が真であると、プロセスはステップ５３６で続行し、そこでは、テクセルについて注目のポイントの総数がゼロを上回るかどうか、およびＡＮＴＩＡＬＩＡＳ（エイリアス除去）フラグが偽かどうかの判断が下される。
【００８４】
ＡＮＴＩＡＬＩＡＳフラグは、ユーザが、プロセスが最終値に元の拡散テクセル色の寄与を含まなければならないどうかを設定できるようにし、プロセス開始前に設定される。当業者にとっては、このようなＡＮＴＩＡＬＩＡＳフラグも、希望するならば、図８および図９を参照して、前記本発明の実施の形態で利用することができることは明らかだろう。このようなＡＮＴＩＡＬＩＡＳ機能の実現方法は、本質的には、直前に記述された方法と同一であり、当業者にとっては明らかだろう。
【００８５】
ステップ５３６での両方の条件が真である場合は、プロセスは、最終色が総重みで除算される最終色値に設定されるステップ５４０に進む。ステップ５３６でのどちらかの条件が偽である場合は、プロセスはステップ５４８に進み、そこでは最終色は、その最終色に１．０と求められた総重みの間の差とテクセルの拡散色との積を加えたものに設定される。どちらのケースでも、プロセスはステップ５４２に進み、そこでは、考慮されるべき追加テクセルが残っているかどうかが判断される。１つまたは複数のテクセルがまだ考慮されなければならない場合、ステップ５００から５４８が残っているテクセルごとに反復される。すべてのテクセルが考慮されると、プロセスはステップ５４４で完了する。
【００８６】
前記のように、最終色値は、一時ファイル内に、ポリゴン・メッシュの定義内に、またはメッシュ・ポリゴンの頂点を割り当てることができる新規素材の定義として、あるいは当業者が思い出すような任意のそれ以外の適切な方法で記憶することができる。
【００８７】
図１４は、ポリゴン・メッシュとして表現されるオブジェクトのレイ・トレーシングによって頂点色の照度マップを決定するための図１２、図１３のプロセスに対する修正を示す。図示されるように、プロセスは、第1の頂点が考慮のために選択されるステップ６００で開始する。最終的にレイ・トレーシングされた色はステップ６０８で決定され、プロセスは、すべての頂点が処理されるまでステップ６００から６１２を反復した後、ステップ６１６で完了する。
【００８８】
状況によっては、図８および図９のプロセスを図１２、図１３のプロセスと結合し、シーンのシェード・ツリーのアクティブな構成要素の評価がこの決定のために実行すべきかどうかを判断するために、照度値を決定する前にプロセスに試験を追加することが希望される場合がある。
【００８９】
明らかとなるように、本発明は、シーンをレンダリングするためのレンダリング・エンジンによって実行されることが必要な計算を削減し、それによりレンダリング時間を短縮するために、照度マップを決定し、照度マップを使用するシステムおよび方法を提供する。照度マップは、テクスチャ・ピクチャまたはそれと使用するための素材色情報と結合されるか、あるいはテクスチャ・ピクチャまたは素材色情報とは無関係に記憶され、後で希望通りにそれと結合することができる。
【００９０】
本発明の前記実施の形態は、本発明の例にすぎないことが意図されており、それに対する改変および修正は、本明細書に添付される請求項によってのみ限定される本発明の適用範囲から逸脱することなく当業者により達成することができる。
【００９１】
付録Ａ
（１）拡散＝（（１．０−配合）×素材拡散色）＋（配合×テクスチャ拡散係数×ピクセル色）
（２）周囲＝（（（１．０−配合）×素材周囲色）＋（配合×テクスチャ周囲係数×ピクセル色）×シーン周囲色）
【００９２】
【数２】
0004111577.tif 000003
【００９３】
【数３】
0004111577.tif 000004
【００９４】
（５）最終色＝照度値×ピクセル色［＋周囲色］
【００９５】
【数４】
0004111577.tif 000005
【００９６】
（７）最終色＝周囲色＋照度値×拡散色
【図面の簡単な説明】
【図１】ｕｖ空間内の３掛ける３（３×３）のピクセル・テクスチャ・ピクチャの概要表現である。
【図２】２掛ける２（２×２）の配置中の４つのポリゴンから成る表面オブジェクトの概要表現である。
【図３】ｕｖ座標空間中で図２のオブジェクトを表現するために利用されるモザイク処理されたポリゴン・メッシュの概要表現である。
【図４】図３のモザイク処理されたポリゴン・メッシュ上への図１のテクスチャ・ピクチャの投影の概要表現である。
【図５】（ａ）から（ｈ）は、モザイク処理されたポリゴン・メッシュ内の三角形のポリゴンと四角形のテクスチャ・ピクセルの間で発生する交差のカテゴリの概要表現である。
【図６】（ａ）から（ｅ）は、モザイク処理されたポリゴン・メッシュ内の三角形のポリゴンと四角形のテクスチャ・ピクセルの間で発生する交差のカテゴリの概要表現である。
【図７】本発明の実施の形態で利用されるデータ構造の概要表現である。
【図８】本発明の１つの実施の形態に従ったプロセスを表すフローチャートである。
【図９】本発明の１つの実施の形態に従ったプロセスを表すフローチャートである。
【図１０】本発明の別の実施の形態に従ったプロセスを表すフローチャートである。
【図１１】本発明の別の実施の形態で利用されるデータ構造の概要表現である。
【図１２】本発明の別の実施の形態に従ったプロセスを表すフローチャートである。
【図１３】本発明の別の実施の形態に従ったプロセスを表すフローチャートである。
【図１４】本発明の別の実施の形態に従ったプロセスを表すフローチャートである。
【図１】
0004111577.tif 000006
【図２】
0004111577.tif 000007
【図３】
0004111577.tif 000008
【図４】
0004111577.tif 000009
【図５】
0004111577.tif 000010
【図６】
0004111577.tif 000011
【図７】
0004111577.tif 000012
【図８】
0004111577.tif 000013
【図９】
0004111577.tif 000014
【図１０】
0004111577.tif 000015
【図１１】
0004111577.tif 000016
【図１２】
0004111577.tif 000017
【図１３】
0004111577.tif 000018
【図１４】
0004111577.tif 000019