(57)【特許請求の範囲】
【請求項１】
幾何学的にモデリングされたオブジェクトのコンピュータグラフィック画像をレンダリングする、コンピュータによって行われる方法であって、
前記モデリングされたオブジェクト上の複数の位置について自己シャドーイングおよび相互反射をシミュレートして、前記複数の位置における領域支持ライティング基底関数の線形結合に対するグローバル伝達効果を含む前記オブジェクトの放射反応を表す放射輝度伝達データを生成するステップと、
前記放射輝度伝達データに基づいて、あるライティング環境であるビュー方向について前記位置における前記モデリングされたオブジェクトの放射輝度伝達を評価するステップと、
前記放射輝度伝達の評価に従ってシェーディングした前記モデリングされたオブジェクトの画像を生成するステップと
を含むことを特徴とする方法。
【請求項２】
前記シミュレートのステップは、基準とする低周波数ライティング環境で照明を当てた前記モデリングされたオブジェクトをシミュレートすることを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記放射輝度伝達データは、前記位置における前記モデリングされたオブジェクトのソース放射輝度の出射放射輝度への伝達を表すことを特徴とする請求項１に記載の方法。
【請求項４】
前記放射輝度伝達データは、前記位置における前記モデリングされたオブジェクトのソース放射輝度の、伝達された入射放射輝度への伝達を表すことを特徴とする請求項１に記載の方法。
【請求項５】
前記ライティングをシミュレートするステップは前処理として行われ、前記評価および生成のステップがリアルタイムで行われることを特徴とする請求項１に記載の方法。
【請求項６】
前記放射輝度伝達を評価するステップは、
あるライティング環境中の少なくとも１つのサンプリング点の光源ライティングデータを計算することと、
前記モデリングされたオブジェクトの表面上の複数の位置について事前に計算した放射輝度伝達データに従って前記計算された光源ライティングデータに線形変換を行って、あるビューについての前記位置からの出射放射輝度のデータを得、前記放射輝度伝達データは、基準とするライティング環境下での、前記位置における光源光に対する前記モデリングされたオブジェクトのグローバル伝播効果を含む放射輝度反応を表すことと
を含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記放射輝度伝達データは、前記モデリングされたオブジェクトの拡散表面上のある位置の放射輝度反応を表す放射輝度伝達ベクトルを含み、前記放射輝度伝達を評価するステップは、前記モデリングされたオブジェクトの前記拡散表面について、
あるライティング環境で少なくとも１つのサンプリング点の光源放射輝度ベクトルを計算することと、
前記光源放射輝度ベクトルと前記放射輝度伝達ベクトルとのドット積を計算することとを含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記放射輝度伝達データは、前記モデリングされたオブジェクトの光沢表面上のある位置の放射輝度反応を表すデータを含み、前記放射輝度伝達を評価するステップは、前記モデリングされたオブジェクトの前記光沢表面について、
あるライティング環境で少なくとも１つのサンプリング点の光源放射輝度ベクトルを計算することと、
前記光源放射輝度ベクトル、前記位置の放射輝度反応を表す前記データ、および前記位置の双方向反射分布関数の関数として、あるビュー方向についての前記位置からの出射放射輝度を求めることと
を含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記放射輝度伝達データは、前記モデリングされたオブジェクトの光沢表面上のある位置の放射輝度反応を表すデータを含み、前記放射輝度伝達を評価するステップは、前記モデリングされたオブジェクトの前記光沢表面について、
あるライティング環境で少なくとも１つのサンプリング点の光源放射輝度ベクトルを計算することと、
前記光源放射輝度ベクトルおよび前記位置の放射輝度反応を表す前記データに基づいて、前記位置の伝達放射輝度を求めることと、
前記伝達放射輝度および前記位置の双方向反射分布関数に基づいて、あるビュー方向についての前記位置からの出射放射輝度を求めることと
を含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記放射輝度伝達データは、前記モデリングされたオブジェクトの光沢表面上のある位置の放射輝度反応を表す放射輝度伝達行列を含み、前記放射輝度伝達を評価するステップは、前記モデリングされたオブジェクトの前記光沢表面について、
あるライティング環境で少なくとも１つのサンプリング点の光源放射輝度ベクトルを計算することと、
前記光源放射輝度ベクトルと前記放射輝度伝達行列との行列ベクトル乗算を行うことと、
前記行列ベクトル乗算の積に、前記モデリングされたオブジェクトの光沢表面上の前記位置の双方向反射分布関数を畳み込むことと
あるビュー方向について前記畳み込みの結果を評価することと
を含むことを特徴とする請求項１に記載の方法。
【請求項１１】
幾何学的にモデリングされたオブジェクトの表面のコンピュータグラフィック画像をリアルタイムレンダリングする、コンピュータによって行われる方法であって、
あるライティング環境で少なくとも１つのサンプリング点の光源ライティングデータを計算するステップと、
前記モデリングされたオブジェクトの表面上の複数の位置について事前に計算された放射輝度伝達データに従って前記計算された光源ライティングデータに線形変換を行ってあるビュー方向についての前記位置からの出射放射輝度のデータを得るステップであって、前記放射輝度伝達データは、基準とするライティング環境下での前記位置における光源光に対する前記モデリングされたオブジェクトのグローバル伝播効果を含む放射輝度反応を含んだ放射輝度反応を表すステップと、
前記位置からの前記出射放射輝度に従ってシェーディングした、前記ビュー方向について前記ライティング環境で前記モデリングされたオブジェクトの画像を生成するステップと
を含み、
前記モデリングされたオブジェクトの拡張表面の場合に前記線形変換を行うことは、
光源放射輝度ベクトルと事前に計算された放射輝度伝達ベクトルとのドット積を計算することを含み、前記光源放射輝度ベクトルは、あるサンプリング点における光源光を表し、前記事前に計算された放射輝度伝達ベクトルは、前記モデリングされたオブジェクトの拡散表面上のある位置の放射輝度反応を表し、
前記モデリングされたオブジェクトの光沢表面の場合に前記線形変換を行うことは、
あるサンプリング点における光源光を表す光源放射輝度ベクトルと、前記モデリングされたオブジェクトの光沢表面上のある位置の放射輝度反応を表す事前に計算された放射輝度伝達行列との行列ベクトル乗算を行うことと、
前記行列ベクトル乗算の積に、前記モデリングされたオブジェクトの光沢表面上の前記位置の双方向反射分布関数を畳み込むことと、
あるビュー方向について前記畳み込みの結果を評価することと
を含むことを特徴とする方法。
【請求項１２】
幾何学的にモデリングされたオブジェクトの拡散表面のコンピュータグラフィック画像をリアルタイムレンダリングする、コンピュータによって行われる方法であって、
あるライティング環境下の放射輝度を球面調和関数基底に射影して、前記モデリングされたオブジェクトの少なくとも１つの位置のライティング係数ベクトルを生成するステップと、
前記ライティング係数ベクトルと、前記拡散表面上の少なくとも１つの位置について事前に計算された放射輝度伝達ベクトルとのドット積を計算して、前記ライティング環境とビュー方向についての前記モデリングされたオブジェクトの前記拡散表面上の前記少なくとも１つの位置における出射放射輝度を生成するステップであって、前記事前に計算された放射輝度伝達ベクトルは、基準とする低周波数ライティング環境下での光源光に対する前記少なくとも１つの位置における前記拡散表面のグローバル伝播効果を含む放射輝度反応を表すステップと、
前記少なくとも１つの位置における前記モデリングされたオブジェクトの前記拡散表面のシェーディングを計算するステップと、
前記シェーディングをつけて前記モデリングされたオブジェクトの前記拡散表面の画像を生成するステップと
を含むことを特徴とする方法。
【請求項１３】
幾何学的にモデリングされたオブジェクトの光沢表面のコンピュータグラフィック画像をリアルタイムレンダリングする、コンピュータによって行われる方法であって、
あるライティング環境下での放射輝度を球面調和関数基底に射影して、前記モデリングされたオブジェクトの少なくとも１つの位置のライティング係数ベクトルを生成するステップと、
前記ライティング係数ベクトルと、基準とする低周波数ライティング環境下での前記少なくとも１つの位置における光源光に対する前記光沢表面のグローバル伝播効果を含む放射輝度反応を表す事前に計算された放射輝度伝達行列データと、前記少なくとも１つの位置の双方向反射分布関数との関数として、あるビュー方向について前記光沢表面上の前記少なくとも１つの位置からの出射放射輝度を求めるステップと、
前記少なくとも１つの位置における前記モデリングされたオブジェクトの前記光沢表面のシェーディングを計算するステップと、
前記シェーディングをつけた前記モデリングされたオブジェクトの前記光沢表面の画像を生成するステップと
を含むことを特徴とする方法。
【請求項１４】
あるビュー方向についての出射放射輝度を求めるステップが、
前記ライティング係数ベクトルと、前記光沢表面上の少なくとも１つの位置について事前に計算された放射輝度伝達行列との行列ベクトル乗算を行い、前記事前に計算された放射輝度伝達行列は、基準とする低周波数ライティング環境下での前記少なくとも１つの位置における光源光に対する前記光沢表面のグローバル伝播効果を含む放射輝度反応を表すことと、
前記行列ベクトル乗算の積に、前記モデリングされたオブジェクトの前記光沢表面上の前記位置の双方向反射分布関数を畳み込むことと、
あるビュー方向について前記畳み込みの結果を評価することと
を含むことを特徴とする請求項１３に記載の方法。
【請求項１５】
あるビュー方向について出射放射輝度を求めるステップが、
前記ライティング係数ベクトルと、前記光沢表面上の少なくとも１つの位置について事前に計算された放射輝度伝達行列との行列ベクトル乗算に基づいて前記出射放射輝度を計算することであって、前記事前に計算された放射輝度伝達行列は、前記少なくとも１つの位置における、前記基準低周波数ライティング環境下でのソース光に対する前記光沢表面のグローバル伝達効果を含む放射輝度反応を表すこと
を含むことを特徴とする請求項１３に記載の方法。
【請求項１６】
モデリングされたオブジェクトのコンピュータグラフィック画像のリアルタイムレンダリングおよび表示に使用する放射輝度自己伝達データを生成する、コンピュータによって行われる方法であって、
領域支持ライティング基底関数の線形結合として表された基準低周波数ライティング環境について、前記モデリングされたオブジェクトにグローバルイルミネーションシミュレーションを行うステップであって、前記シミュレーションは、前記モデリングされたオブジェクト上の複数のサンプル点の放射輝度伝達を計算し、前記シミュレーションは、前記モデリングされたオブジェクトの自己シャドーイングと相互反射を取り入れるステップと、
前記モデリングされたオブジェクト上の放射輝度伝達をレンダリングして前記モデリングされたオブジェクトのグラフィック画像を生成する際に使用するために、前記複数のサンプル点のグローバルイルミネーションシミュレーションを、前記領域支持ライティング基底関数の係数の線形変換として記録するステップと
を含むことを特徴とする方法。
【請求項１７】
前記基準低周波数ライティング環境を入射光の球面の球面調和関数基底の射影としてパラメータ化することを特徴とする請求項１６に記載の方法。
【請求項１８】
前記グローバルイルミネーションシミュレーションを複数のパスで前記モデリングされたオブジェクトに行うステップと、
最初のシャドーイングパスで、前記モデリングされたオブジェクトの自己シャドーイングを含む前記モデリングされたオブジェクト上の複数のサンプル点の直接照明をシミュレートするステップであって、前記直接照明のシミュレートは、あるサンプル点について、
法線方向を中心とする半球内の前記サンプル点から前記モデリングされたオブジェクトの表面への複数の方向を前記サンプル点で評価すること、
前記モデリングされたオブジェクトと交差する前記サンプル点からの方向にオクルージョンが生じるとしてタグをつけること、および
前記複数の方向への前記サンプル点の直接照明からの放射輝度伝達を累積して、前記サンプル点の放射輝度伝達データを生成すること
を含むステップと、
続く相互反射パスで、前記モデリングされたオブジェクト上の前記複数のサンプル点の相互反射照明をシミュレートするステップであって、前記相互反射照明のシミュレートは、あるサンプル点について、
オクルージョンが生じるとしてタグ付けされた前記複数の方向への前記サンプル点の相互反射した照明からの放射輝度伝達を累積して、前記サンプル点の放射輝度伝達データを生成すること
を含むステップと、
条件が満たされるまで相互反射パスを反復するステップと、
あるサンプル点について、前記最初のシャドーイングパスおよび続く相互反射パスで累積された前記放射輝度伝達データを合計して、前記サンプル点の合計放射輝度伝達を生成するステップと
を含むことを特徴とする請求項１６に記載の方法。
【請求項１９】
前記条件は、前記現在の相互反射パスの合計相互反射照明エネルギーがある閾値レベルを下回ることであることを特徴とする請求項１６に記載の方法。
【請求項２０】
前記モデリングされたオブジェクトの拡散表面上のサンプリング点の放射輝度伝達データを、球面調和関数基底係数のベクトルとして表すことをさらに含むことを特徴とする請求項１６に記載の方法。
【請求項２１】
前記モデリングされたオブジェクトの光沢表面上のサンプリング点の放射輝度伝達データを、球面調和関数基底係数の行列として表すことをさらに含むことを特徴とする請求項１６に記載の方法。
【請求項２２】
幾何学的にモデリングされたオブジェクトの表面のコンピュータグラフィック画像をリアルタイムレンダリングする方法であって、
第１のコンピュータで行われる放射輝度伝達の事前計算段階で、
基準とする低周波数ライティング環境で前記モデリングされたオブジェクトの照明シミュレーションを行って前記モデリングされたオブジェクト上の複数のサンプル点の放射輝度伝達を計算するステップであって、前記シミュレーションは前記モデリングされたオブジェクトの自己シャドーイングおよび相互反射を取り入れるステップと、
前記モデリングされたオブジェクトの拡散表面上のサンプル点の場合に、前記計算された放射輝度伝達を球面調和関数基底係数の放射輝度伝達ベクトルとして記録するステップと、
前記モデリングされたオブジェクトの光沢表面上のサンプル点の場合に、前記計算した放射輝度伝達を球面調和関数基底係数の放射輝度伝達行列として記録するステップと、
第２のコンピュータで行われる画像レンダリング段階で、前記モデリングされたオブジェクトの画像をレンダリングするステップであって、前記レンダリングステップは、
レンダリング時のライティング環境で前記モデリングされたオブジェクトの光源光をサンプリングして、前記モデリングされたオブジェクト上の前記複数のサンプル点の球面調和関数基底係数の光源放射輝度ベクトルを得るステップと、
前記モデリングされたオブジェクトの拡散表面上のサンプル点の場合に、前記光源放射輝度ベクトルと前記放射輝度伝達ベクトルとのドット積を行ってあるビュー方向の出射放射輝度を得るステップと、
前記モデリングされたオブジェクトの光沢表面上のサンプル点の場合に、前記光源放射輝度ベクトル、前記放射輝度伝達行列、および前記光沢表面の双方向反射分布関数に基づいて、あるビュー方向についての出射放射輝度を求めるステップと、
前記複数のサンプル点個々の前記ビュー方向への前記出射放射輝度に基づいて、前記複数のサンプル点において前記モデリングされたオブジェクトをシェーディングするステップとを含むステップと
を含むことを特徴とする方法。
【請求項２３】
前記ビュー方向についての出射放射輝度を求めるステップが、
前記光源放射輝度ベクトルと前記放射輝度伝達行列を乗算することと、
前記光源放射輝度ベクトルと前記放射輝度伝達行列との積への前記光沢表面の双方向反射分布関数の畳み込みを前記ビュー方向について前記サンプル点で評価して、前記ビュー方向の出射放射輝度を得ることと
を含むことを特徴とする請求項２２に記載の方法。
【請求項２４】
第２のコンピュータで行われる画像レンダリング段階で、
ユーザコントロール下で前記レンダリング時のライティング環境を選択することと、
ユーザコントロールによって選択された各種のライティング環境について前記モデリングされたオブジェクトのさらなる画像をレンダリングすることと
をさらに含むことを特徴とする請求項２２に記載の方法。
【請求項２５】
第２のコンピュータで行われる画像レンダリング段階で、
ユーザコントロール下で前記ビュー方向を変化させることと、
ユーザによってコントロールされる各種のビュー方向についての前記モデリングされたオブジェクトのさらなる画像をレンダリングすることと
をさらに含むことを特徴とする請求項２２に記載の方法。
【請求項２６】
オブジェクトの幾何学モデルを記憶するメモリと、
モデリングされたオブジェクト上の複数の位置のライティングの自己シャドーイングおよび相互反射をシミュレートして、複数の位置における、領域支持ライティング基底関数の線形結合に対するグローバル伝達効果を含む前記オブジェクトの放射反応を表す放射輝度伝達データを生成するイルミネーションシミュレータと、
前記放射輝度伝達データに基づいて、あるビューについてあるライティング環境で前記モデリングされたオブジェクトの前記複数の位置で放射輝度伝達を評価し、放射輝度伝達の評価に従ってシェーディングした前記モデリングされたオブジェクトの画像を生成するリアルタイム画像レンダリングエンジンと、
前記画像を提示する画像出力装置と
を備えることを特徴とするコンピュータグラフィック画像レンダリングシステム。
【請求項２７】
前記放射輝度伝達データは、前記複数の位置における前記モデリングされたオブジェクトのソース放射輝度の出射放射輝度への伝達を表すことを特徴とする請求項２６に記載のコンピュータグラフィック画像レンダリングシステム。
【請求項２８】
前記放射輝度伝達データは、前記複数の位置における前記モデリングされたオブジェクトのソース輝度の伝達された光源放射輝度への伝達を表すことを特徴とする請求項２６に記載のコンピュータグラフィック画像レンダリングシステム。
【請求項２９】
オブジェクトの幾何学モデルを記憶するメモリと、
前記オブジェクトによる自己シャドーイングと相互反射を含み、前記オブジェクトの表面上の複数の点において球面調和関数基底でパラメータ化された、基準とする低周波数ライティング環境に対する放射輝度反応を計算するイルミネーションシミュレータと、
前記球面調和関数基底でパラメータ化された前記複数の点における光源放射輝度を計算し、前記光源放射輝度と放射輝度反応を組み合わせる変換を処理してあるビューへの前記複数の点からの出射放射輝度を得て、前記ビューへの前記複数の点個々の出射放射輝度に従って前記複数の点で前記オブジェクトをシェーディングした前記オブジェクトの画像を生成するリアルタイム画像レンダリングエンジンと、
前記画像を提示する画像出力装置と
を備えることを特徴とするコンピュータグラフィック画像レンダリングシステム。
【請求項３０】
オブジェクトの幾何学モデルと、領域支持ライティング基底関数の線形結合として表された基準低周波数ライティング環境でシミュレートされた、前記オブジェクトによる自己シャドーイングおよび相互反射を含む前記オブジェクトの表面上の複数の点の放射輝度反応データとを記憶するメモリと、
前記複数の点における光源放射輝度を計算し、前記光源放射輝度と放射輝度反応を組み合わせる変換を処理してあるビューについての前記複数の点からの出射放射輝度を得て、前記ビューについての前記複数の点個々の出射放射輝度に従って前記複数の点で前記オブジェクトをシェーディングした前記オブジェクトの画像を生成するリアルタイム画像レンダリングエンジンと、
前記画像を提示する画像出力装置と
を備えることを特徴とするリアルタイムグラフィックレンダリングシステム。
【請求項３１】
前記放射輝度反応データは球面調和関数基底でパラメータ化されることを特徴とする請求項３０に記載のリアルタイムグラフィックレンダリングシステム。
【請求項３２】
前記光源放射輝度は球面調和関数基底でパラメータ化されることを特徴とする請求項３０に記載のリアルタイムグラフィックレンダリングシステム。
【請求項３３】
オブジェクトの幾何学モデルおよび前記オブジェクト上の複数の点の放射輝度自己伝達反応を含むデータを処理して、それにより幾何学的にモデリングされたオブジェクトの画像をレンダリングするプログラムコードを担持するコンピュータ可読データ担持媒体であって、前記プログラムコードは、
領域支持ライティング基底関数の線形結合として表された基準低周波数ライティング環境で前記オブジェクトに近い１つまたは複数のサンプル点で光源ライティングを計算するプログラムコード手段と、
前記光源ライティングのデータと前記放射輝度自己伝達反応データを組み合わせて、あるビュー方向への前記オブジェクト上の前記点からの出射放射輝度を得るプログラムコード手段と
を備えることを特徴とするコンピュータ可読データ担持媒体。
【請求項３４】
前記放射輝度自己伝達反応データは、前記オブジェクトの拡散表面上の点について、領域支持ライティング基底の放射輝度自己伝達反応ベクトルを含み、前記プログラムコードはさらに、前記オブジェクトの前記拡散表面上の前記点の場合に光源光ベクトルと前記放射輝度自己伝達反応ベクトルとのドット積を行って前記ビュー方向への前記オブジェクト上の前記点からの前記出射放射輝度を得るプログラムコード手段を備えることを特徴とする請求項３３に記載のコンピュータ可読データ担持媒体。
【請求項３５】
前記領域支持ライティング基底が球面調和関数の基底であることを特徴とする請求項３４に記載のコンピュータ可読データ担持媒体。
【請求項３６】
前記放射輝度自己伝達反応データは、前記オブジェクトの光沢表面上の点について、球面調和関数基底の放射輝度自己伝達反応行列を含み、前記プログラムコードはさらに、前記オブジェクトの前記光沢表面上の前記点の場合に光源光ベクトル、前記放射輝度自己伝達反応行列、および双方向反射分布関数に基づいて、あるビュー方向への前記オブジェクト上の前記点からの前記出射放射輝度を求めるプログラムコード手段を備えることを特徴とする請求項３３に記載のコンピュータ可読データ担持媒体。
【請求項３７】
前記出射放射輝度を求めることが、
光源光ベクトルと前記放射輝度自己伝達反応行列との行列ベクトル乗算を行い、前記行列ベクトル乗算の積に、前記ビュー方向について評価された双方向反射分布関数を畳み込んで、前記ビュー方向への前記オブジェクト上の前記点からの前記出射放射輝度を得ること
を備えることを特徴とする請求項３６に記載のコンピュータ可読データ担持媒体。
【請求項３８】
前記出射放射輝度を求めることがさらに、
前記行列ベクトル乗算の積に、前記ビュー方向について評価した双方向反射分布関数を畳み込んで、前記ビュー方向への前記オブジェクト上の前記点からの前記出射放射輝度を得ること
を含むことを特徴とする請求項３７に記載のコンピュータ可読データ担持媒体。
【請求項３９】
前記放射輝度自己伝達反応データは放射輝度自己伝達反応行列を含み、前記プログラムコードはさらに、前記光源光ベクトルと前記放射輝度自己伝達反応行列との行列ベクトル乗算を行うことにより、あるビュー方向についての前記オブジェクト上の点からの前記出射放射輝度を求めるプログラムコード手段を備えることを特徴とする請求項３３に記載のコンピュータ可読データ担持媒体。
【請求項４０】
低周波数ライティング環境にあるモデリングされたオブジェクトのコンピュータグラフィック画像のレンダリングおよび表示に使用する前記ライティング環境の入射放射輝度フィールドを評価する、コンピュータによって行われる方法であって、
前記ライティング環境中のある点からの複数の方向における光源放射輝度の画像を生成するステップと、
画像を変換して、前記ライティング環境の前記点における前記光源放射輝度フィールドの領域支持ライティング基底関数の線形結合としての表現にするステップと、
前記ライティング環境でモデリングされたオブジェクトの画像をレンダリングする際に、ライティング基底表現を使用して前記点で前記モデリングされたオブジェクトをシェーディングするステップと、
前記ライティング環境にある前記モデリングされたオブジェクトの前記画像を視覚的に提示するステップと
を含むことを特徴とする方法。
【請求項４１】
前記ライティング基底表現が球面調和関数基底表現であることを特徴とする請求項４０に記載の方法。
【請求項４２】
コンピュータ上でグラフィックハードウェアを使用して、動的なシーン内のモデリングされたオブジェクトのコンピュータグラフィック画像のレンダリングおよび表示に使用する放射輝度サンプルを前記動的なシーン内でライティング環境を用いて取り込む方法であって、
領域支持ライティング基底関数を表す、事前に計算されたテクスチャ画像のセットを記憶するステップと、
前記グラフィックハードウェアで、前記動的なシーン中のサンプル点から画像のセットをレンダリングするステップであって、前記画像が前記動的シーンの前記ライティング環境からのソース光を表すステップと、
前記グラフィックハードウェアで、光源光画像のセットおよび前記事前に計算されたテクスチャ画像セットの関数として光源放射輝度を前記サンプル点で射影して、前記サンプル点における前記ソース放射輝度を前記領域支持ライティング基底に得るステップと、
前記ライティング環境でモデリングされたオブジェクトの画像をレンダリングする際に、前記サンプル点の前記光源放射輝度を使用して前記点で前記モデリングされたオブジェクトをシェーディングするステップと、
前記ライティング環境にある前記モデリングされたオブジェクトの前記画像を視覚的に提示するステップと
を含むことを特徴とする方法。
【請求項４３】
前記事前に計算されたテクスチャ画像は、球面調和関数（ＳＨ）の基底関数のセットを表すことを特徴とする請求項４２に記載の方法。
【請求項４４】
前記球面調和関数の基底関数のセットは、差分立体角で重みをつけ、前記角度のキューブマップ球面パラメータ化を介して評価されることを特徴とする請求項４３に記載の方法。
【請求項４５】
前記レンダリングされた画像が、前記動的シーンの低周波数ライティング環境からの光源光のキューブマップ球面パラメータ化の面に対応することを特徴とする請求項４２に記載の方法。
【請求項４６】
コンピュータ上でグラフィックハードウェアを使用して、動的なシーン内のモデリングされたオブジェクトのコンピュータグラフィック画像のレンダリングおよび表示に使用する放射輝度サンプルを前記動的なシーン内でライティング環境を用いて取り込む方法であって、
差分立体角によって重みを付け、前記角度のキューブマップ球面パラメータ化を介して評価された球面調和関数（ＳＨ）基底関数のセットについて事前に計算されたテクスチャ画像のセットを記憶するステップと、
前記グラフィックハードウェアで、前記動的シーン内のサンプル点から画像のセットをレンダリングするステップであって、前記画像が前記動的シーンの低周波数ライティング環境からの光源光のキューブマップ球面パラメータ化の面に対応するステップと、
前記グラフィックハードウェアで、光源光画像のセットと前記ＳＨ基底関数テクスチャ画像のセットとのドット積として、前記サンプル点の前記光放射輝度を球面調和関数係数に射影して、前記サンプル点における光源放射輝度を前記ＳＨ基底に得るステップと、
前記ライティング環境でモデリングされたオブジェクトの画像をレンダリングする際に、前記サンプル点における前記ＳＨ基底の前記光放射輝度を使用して前記点で前記モデリングされたオブジェクトをシェーディングするステップと、
前記ライティング環境の前記モデリングされたオブジェクトの前記画像を視覚的に提示するステップと
を含むことを特徴とする方法。
【請求項４７】
前記動的なシーン内の空間的に異なる複数のサンプル点についてレンダリングおよび射影の動作を繰り返すことをさらに含むことを特徴とする請求項４６に記載の方法。
【請求項４８】
ＳＨ係数への射影の前に、前記光源光画像のスーパーサンプリングとボックスフィルタデシメーションをさらに含み、それによりエイリアシングを低減することを特徴とする請求項４６に記載の方法。
【請求項４９】
ＳＨ係数への射影の前に、前記ＳＨ基底関数テクスチャ画像のスーパーサンプリングとボックスフィルタデシメーションをさらに含むことを特徴とする請求項４６に記載の方法。
【請求項５０】
グラフィックレンダリングのコンピュータシステムであって、
差分立体角によって重みを付け、前記角度のキューブマップ球面パラメータ化を介して評価された球面調和関数（ＳＨ）の基底関数のセットについて事前に計算されたテクスチャ画像のセットを記憶するメモリと、
あるライティング環境を有する動的シーン内のサンプル点から画像のセットをレンダリングするように動作するグラフィック処理ボードであって、前記画像は、前記動的シーンの前記ライティング環境からの光源光のキューブマップ球面パラメータ化の面に対応し、さらに、光源光画像のセットと前記ＳＨ基底関数テクスチャ画像のセットとのドット積として、前記サンプル点における光源放射輝度を球面調和関数係数に射影して前記サンプル点の前記光源放射輝度を前記ＳＨ基底に得るように動作するグラフィック処理ボードと、
前記ライティング環境でモデリングされたオブジェクトの画像をレンダリングする際に、前記サンプル点における前記ＳＨ基底の前記光源放射輝度を使用して前記点で前記モデリングされたオブジェクトをシェーディングするように動作するリアルタイム画像レンダリングエンジンを実行するシステムプロセッサと、
前記画像を提示する画像出力装置と
を備えることを特徴とするシステム。
【請求項５１】
コンピュータのグラフィックハードウェアを使用して、動的なシーン内にあるモデリングされたオブジェクトのコンピュータグラフィック画像のレンダリングおよび表示に用いられる放射輝度サンプルを前記シーン内でライティング環境を用いて取り込むプログラムコードを担持するコンピュータ可読データ担持媒体であって、前記プログラムコードは、
前記グラフィックハードウェアに、前記動的なシーン中のサンプル点から画像のセットをレンダリングさせ、前記画像が、前記動的シーンの低周波数ライティング環境からの光源光のキューブマップ球面パラメータ化の面に対応するプログラムコード手段と、
前記グラフィックハードウェアに、光源光画像のセットと、差分立体角によって重みを付け前記角度のキューブマップ球面パラメータ化を介して評価された球面調和関数（ＳＨ）基底関数のセットについて事前に計算されたＳＨ基底関数テクスチャ画像のセットとのドット積として、前記サンプル点における入射放射輝度を球面調和関数係数に射影させて、前記サンプル点の前記入射放射輝度を前記ＳＨ基底に得させるプログラムコード手段と、
前記ライティング環境でモデリングされたオブジェクトの画像をレンダリングする際に、前記サンプル点における前記ＳＨ基底の前記入射放射輝度を使用して前記点において前記モデリングされたオブジェクトをシェーディングするプログラムコード手段と、
前記ライティング環境で前記モデリングされたオブジェクトの前記画像を視覚的に提示するプログラムコード手段と
を備えることを特徴とするコンピュータ可読データ担持媒体。
【請求項５２】
ボリュームモデルのコンピュータグラフィック画像のリアルタイムレンダリングおよび表示に使用する放射輝度自己伝達データを生成する、コンピュータによって行われる方法であって、
照明を当てたボリューム上のライティングの自己シャドーイングおよび相互反射をシミュレートして、前記ボリュームモデルの複数のボリューム要素についての、領域支持ライティング基底関数の線形結合に対するグローバル伝達効果を含む放射輝度反応を表す放射輝度伝達データを生成するステップと、
前記放射輝度伝達データに基づいて、あるビューについてあるライティング環境で前記複数のボリューム要素の放射輝度伝達を評価するステップと、
前記放射輝度伝達の評価に従ってシェーディングした前記ボリュームモデルの画像を生成するステップと
を含むことを特徴とする方法。
【請求項５３】
ボリュームモデルのコンピュータグラフィック画像のリアルタイムレンダリングおよび表示に使用する放射輝度自己伝達データを生成する、コンピュータによって行われる方法であって、
領域支持ライティング基底関数の線形結合として表された基準低周波数ライティング環境についてボリュームにグローバルイルミネーションシミュレーションを行うステップであって、前記シミュレーションは、前記ボリュームモデルの複数のボリューム要素について放射輝度伝達を計算し、前記シミュレーションは前記ボリュームモデルの自己シャドーイングおよび相互反射を取り入れるステップと、
前記ボリュームモデル上の放射輝度伝達をレンダリングして前記ボリュームモデルのグラフィック画像を生成する際に用いるために、前記複数のボリューム要素についてのグローバルイルミネーションシミュレーションを、前記基底関数の係数の線形変換として記録するステップと
を含むことを特徴とする方法。
【請求項５４】
前記基準低周波数ライティング環境を光源光の球面の球面調和関数基底の射影としてパラメータ化することを特徴とする請求項５３に記載の方法。
【請求項５５】
前記グローバルイルミネーションシミュレーションを複数のパスで前記ボリュームモデルに行うステップと、
最初のシャドーイングパスで、前記ボリュームモデルを貫通する経路に沿った減衰を含む、前記基準低周波数ライティング環境にある前記ボリュームモデルの複数のボリューム要素の直接照明をシミュレートするステップと、
続く相互反射パスで、前記ボリュームモデルを貫通する減衰を含む、前記ボリュームモデルの他のボリューム要素による前記ボリュームモデルの前記ボリューム要素の相互反射照明をシミュレートするステップと、
条件が満たされるまで相互反射パスを反復するステップと、
あるサンプル点について、前記最初のシャドーイングパスと続く相互反射パスで累積された放射輝度伝達データを合計して、前記サンプル点における合計放射輝度伝達を生成するステップと
を含むことを特徴とする請求項５３に記載の方法。
【請求項５６】
ボリュームモデルのコンピュータグラフィック画像をリアルタイムレンダリングするコンピュータグラフィック画像レンダリングシステムであって、
ボリュームモデルを記憶するメモリと、
基準とするライティング環境で照明を当てた前記ボリュームモデルの複数のボリューム要素にライティングの自己シャドーイングおよび相互反射をシミュレートして、前記ボリュームモデルの前記ボリューム要素の光源光から出射光への放射輝度伝達を表すデータを生成するイルミネーションシミュレータと、
前記放射輝度伝達データに基づいて、あるビュー方向について第２のライティング環境で前記ボリュームモデルの前記ボリューム要素で放射輝度伝達を評価し、前記放射輝度伝達の評価に従ってシェーディングした前記ボリュームモデルの画像を生成するリアルタイム画像レンダリングエンジンと、
前記画像を提示する画像出力装置と
を備えることを特徴とするシステム。
【請求項５７】
プログラムを担持したコンピュータ可読プログラム担持媒体であって、前記プログラムはコンピュータで実行して、ボリュームモデルのコンピュータグラフィック画像のリアルタイムレンダリングおよび表示に使用する放射輝度自己伝達データを生成する方法を行うことができ、前記方法は、
光源光の球面の球面調和関数基底の射影としてパラメータ化された基準低周波数ライティング環境についてボリュームにグローバルイルミネーションシミュレーションを行うステップであって、前記射影は球面調和関数の係数を有し、前記シミュレーションは、前記ボリュームモデルの複数のボリューム要素の放射輝度伝達を計算し、前記シミュレーションは前記ボリュームモデルの自己シャドーイングおよび相互反射を取り入れるステップと、
前記ボリュームモデル上の放射輝度伝達をレンダリングして前記ボリュームモデルのグラフィック画像を生成する際に用いるために、前記複数のボリューム要素に対する前記グローバルイルミネーションシミュレーションを前記光源光の前記球面調和関数係数の線形変換として記録するステップと
を含むことを特徴とする媒体。
【請求項５８】
前記方法はさらに、
前記グローバルイルミネーションシミュレーションを複数のパスで前記ボリュームモデルに行うステップと、
最初のシャドーイングパスで、前記ボリュームモデルを貫通する経路に沿った減衰を含む、前記基準低周波数ライティング環境にある前記ボリュームモデルの複数のボリューム要素の直接照明をシミュレートするステップと、
続く相互反射パスで、前記ボリュームモデルを貫通する減衰を含む、前記ボリュームモデルの他のボリューム要素による前記ボリュームモデルの前記ボリューム要素の相互反射照明をシミュレートするステップと、
条件が満たされるまで相互反射パスを反復するステップと、
あるサンプル点について、前記最初のシャドーイングパスと続く相互反射パスで累積された前記放射輝度伝達データを合計して、前記サンプル点の合計放射輝度伝達を生成するステップと
を含むことを特徴とする請求項５７に記載の媒体。
【請求項５９】
プログラムを担持したコンピュータ可読プログラム担持媒体であって、前記プログラムはコンピュータで実行してボリュームモデルのコンピュータグラフィック画像のリアルタイムレンダリングの方法を行うことができ、前記方法は、
あるライティング環境で少なくとも１つのサンプリング点の光源ライティングデータを計算するステップと、
前記ボリュームモデルの複数のボリューム要素について事前に計算された放射輝度伝達データに従って、前記計算された光源ライティングデータに線形変換を行って、あるビュー方向についての前記ボリューム要素からの出射放射輝度のデータを得るステップであって、前記放射輝度伝達データは、前記ボリュームモデルの前記ボリューム要素の領域支持ライティング基底関数の線形結合に対するグローバル伝達効果を含む放射輝度反応を表すステップと、
前記位置からの前記出射放射輝度に従ってシェーディングした、前記ライティング環境における前記ビューについての前記モデリングされたオブジェクトの画像を生成するステップと
を含むことを特徴とするコンピュータ可読プログラム担持媒体。
【請求項６０】
前記方法はさらに、
事前計算として、光源光の球面の球面調和関数基底の射影としてパラメータ化された基準低周波数ライティング環境について前記ボリュームにグローバルイルミネーションシミュレーションを行うステップであって、前記射影は球面調和関数の係数を有し、前記シミュレーションは、前記ボリュームモデルの複数のボリューム要素の放射輝度伝達を計算し、前記シミュレーションは前記ボリュームモデルの自己シャドーイングおよび相互反射を取り入れるステップと、
前記複数のボリューム要素に対する前記グローバルイルミネーションシミュレーションを前記光源光の前記球面調和関数の係数の線形変換として記録して、前記放射輝度伝達データを形成するステップと
を含むことを特徴とする請求項５９に記載のコンピュータ可読プログラム担持媒体。
【請求項６１】
前記方法はさらに、
前記グローバルイルミネーションシミュレーションを複数のパスで前記ボリュームモデルに行うステップと、
最初のシャドーイングパスで、前記ボリュームモデルを貫通する経路に沿った減衰を含む、前記基準低周波数ライティング環境にある前記ボリュームモデルの複数のボリューム要素の直接照明をシミュレートするステップと、
続く相互反射パスで、前記ボリュームモデルを貫通する減衰を含む、前記ボリュームモデルの他のボリューム要素による前記ボリュームモデルの前記ボリューム要素の相互反射照明をシミュレートするステップと、
条件が満たされるまで相互反射パスを反復するステップと、
あるサンプル点について、前記最初のシャドーイングパスと続く相互反射パスで累積された前記放射輝度伝達データを合計して、前記サンプル点の合計放射輝度伝達を生成するステップと
を含むことを特徴とする請求項６０に記載のコンピュータ可読プログラム担持媒体。
【請求項６２】
モデリングされたオブジェクトを含むシーン内のモデリングされた対象物のコンピュータグラフィック画像をリアルタイムレンダリングするコンピュータグラフィック画像レンダリングシステムであって、
前記対象物およびオブジェクトのモデルを記憶するメモリと、
基準とするライティング環境で照明を当てた前記モデリングされたオブジェクト周辺の近接空間内の複数のサンプル点についてライティングの自己シャドーイングおよび相互反射をシミュレートして、前記モデリングされたオブジェクトからの前記複数のサンプル点に対する光源光から転送入射光への放射輝度伝達を表すデータを生成するイルミネーションシミュレータと、
前記放射輝度伝達データに基づいて、あるビューについて第２のライティング環境で前記モデリングされたオブジェクトから前記モデリングされた対象物への放射輝度伝達を前記複数のサンプル点で評価し、前記放射輝度伝達の評価に従ってシェーディングした前記モデリングされた対象物の画像を生成するリアルタイム画像レンダリングエンジンと、
前記画像を提示する画像出力装置と
を備えることを特徴とするシステム。
【請求項６３】
シーン内のモデリングされた対象物のコンピュータグラフィック画像のリアルタイムレンダリングおよび表示に使用する放射輝度伝達データを前記シーン内のモデリングされたオブジェクトから生成する方法を実行するようにコンピュータをプログラムするプログラムを担持するコンピュータ可読プログラム担持媒体であって、前記方法は、
基底関数の線形結合として表された基準低周波数ライティング環境で前記モデリングされたオブジェクトにグローバルイルミネーションシミュレーションを行うステップであって、前記シミュレーションは、前記モデリングされたオブジェクト周辺の近接空間中の複数のサンプル点の放射輝度伝達を計算し、前記シミュレーションは、前記モデリングされたオブジェクトから前記複数のサンプル点に投じられる自己シャドーイングおよび相互反射を取り入れるステップと、
前記ボリュームモデル上の放射輝度伝達をレンダリングして前記ボリュームモデルのグラフィック画像を生成する際に使用するために、前記複数のサンプル点に対する前記グローバルイルミネーションシミュレーションを、前記基底関数の係数の線形変換として記録するステップと
を含むことを特徴とするコンピュータ可読プログラム担持媒体。
【請求項６４】
前記方法は、
前記グローバルイルミネーションシミュレーションを複数のパスで前記モデリングされたオブジェクトに行うステップと、
最初のシャドーイングパスで、前記モデリングされたオブジェクトからの前記複数のサンプル点のシャドーイングを含む、前記基準低周波数ライティング環境内の前記モデリングされたオブジェクト周辺の前記近接空間内で前記複数のサンプル点の直接照明をシミュレートするステップと、
続く相互反射パスで、前記モデリングされたオブジェクトからの前記モデリングされたオブジェクト周辺の前記近接空間内の前記複数のサンプル点の反射照明をシミュレートするステップと、
条件が満たされるまで相互反射パスを反復するステップと、
あるサンプル点について、前記最初のシャドーイングパスと続く相互反射パスで累積された前記放射輝度伝達データを合計して、前記サンプル点の合計放射輝度伝達を生成するステップと
を含むことを特徴とする請求項６３に記載のコンピュータ可読プログラム担持媒体。
【請求項６５】
線形変換としての前記複数のサンプル点の前記グローバルイルミネーションシミュレーションの記録は、前記モデリングされたオブジェクトを中心とする３次元グリッド内の複数の点についての伝達行列の形であることを特徴とする請求項６４に記載のコンピュータ可読プログラム担持媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータグラフィック画像のレンダリング技術に関し、より詳細には、レンダリング画像におけるモデリングされたオブジェクトのライティングおよびシャドーイングに関する。
【０００２】
【従来の技術】
本特許文書の開示の一部は著作権保護の対象となる題材を含んでいる。著作権所有者は、いずれの者による米国特許商標庁の特許ファイルまたはレコードに記載される本特許開示の複製に対して異議はないが、その他の点ではすべての著作権を保有する。
【０００３】
面光源からのライティング、柔らかなシャドー、および相互反射は、現実感のある画像合成に重要な効果である。不都合なことに、モンテカルロレイトレーシング、ラジオシティ、或いは複数の点光源にわたって合計するマルチパスレンダリングを含む大規模なライティング環境にわたって積分するための一般的な方法は、リアルタイムのレンダリングには実際的でない。（モンテカルロレイトレーシングに関する代表的文献がある（例えば、非特許文献１、非特許文献２、非特許文献３参照）。（ラジオシティ技術について記述がある（例えば、非特許文献４参照））（各種のマルチパスレンダリング技術に関する代表的文献がある（例えば、非特許文献５、非特許文献６、非特許文献７参照））
【０００４】
【非特許文献１】
Cook, R. Porter, T and Carpenter, L, Distributed Ray Tracing, SIGGRAPH'84, 137〜146
【０００５】
【非特許文献２】
Jensen, H, Global Illumination using Photon Maps, Eurographics Workshop on Rendering 1996, 21〜30
【０００６】
【非特許文献３】
Kajiya, J, The Rendering Equation, SIGGRAPH'86, 143〜150
【０００７】
【非特許文献４】
Cohen, M and Wallace, J, Radiosity and Realistic Image Synthesis, Academic Press Professional, Cambridge, 1993
【０００８】
【非特許文献５】
Haeberli, P and Akeley, K, The Accumulation Buffer: Hardware Support for High-Quality Rendering, SIGGRAPH'90, 309〜318
【０００９】
【非特許文献６】
Keller, A, Instant Radiosity, SIGGRAPH'97, 49〜56
【００１０】
【非特許文献７】
Segal, M, Korobkin, C, van Widenfelt, R, Foran, J and Haeberli, P, Fast Shadows and Lighting Effects Using Texture Mapping, SIGGRAPH'92, 249〜252
【００１１】
【非特許文献８】
Cabral, B、Olano, M and Nemec, P, Reflection Space Image Based Rendering, SIGGRAPH'99, 165〜170
【００１２】
【非特許文献９】
Greene, N, Environment Mapping and Other applications of World Projections, IEEE CG & A, 6(11): 21〜29, 1986
【００１３】
【非特許文献１０】
Heidrich, W, Seidel H, Realistic, Hardware-Accelerated Shading and Lighting, SIGGRAPH'99, 171〜178
【００１４】
【非特許文献１１】
Kautz, J, Vazquez, P, Heidrich, W and Seidel, H, A Unified Approach to Pre-filtered Environment Maps, Eurographics Workshop on Rendering 2000, 185〜196
【００１５】
【非特許文献１２】
Ramamoorthi, R and Hanrahan, P, An Efficient Representation for Irradiance Environment Maps, SIGGRAPH'01, 497〜500
【００１６】
【非特許文献１３】
Edmonds, A, Angular Momentum in Quantum Mechanics, Princeton University, Princeton, 1960
【００１７】
【非特許文献１４】
Zare, R, Angular Momentum: Understanding Spatial Aspects in Chemistry and Physics, Wiley, New York、1987
【００１８】
【非特許文献１５】
Chirikjian, G and Stein, D, Kinematic Design and Communication of a Spherical Stepper Motor, IEEE Transactions on Mechatronics, 4(4), Dec. 1999
【００１９】
【非特許文献１６】
Linde, Y, Buzo and Gray, R, An algorithm for Vector Quantizer Design, IEEE Transaction on Communication COM-28, 1980, 84〜95
【００２０】
【非特許文献１７】
Greger, G., Shirley, P, Hubbard, P, and Greenberg, D, The Irrandiance Volume, IEEE Computer Graphics and Applications, 6(11): 21〜29, 1986
【００２１】
【発明が解決しようとする課題】
リアルタイムの現実感のあるグローバルイルミネーションには３つの困難が伴う。すなわち、現実の材料の複雑で空間的に変動する双方向反射分布関数（ＢＲＤＦ）をモデル化しなければならず（ＢＲＤＦの複雑性）、各点におけるライティング方向の半球にわたる積分（光の積分）が必要であり、そして光源から対象物（receiver）への光路中にある介在物によるシャドーなどのはね返り（bouncing）／オクルージョン効果を考慮しなければならない（光の伝播の複雑性）。多くの研究では、ＢＲＤＦの複雑性を拡大して（例えば光沢のある異方性反射）、方向または点の合計として入射ライティングを表すことにより光の積分の問題を解決することに的を絞ってきた。したがって、光の積分は、結果として単に数点で分析的あるいは表形式のＢＲＤＦをサンプリングするのと同じことになるが、大きな光源の場合には扱いにくい。第２の系統の研究では放射輝度をサンプリングし、その輝度に予め様々な大きさの核（kernel）を畳み込んでおく。（例えば次を参照されたい（例えば、非特許文献８、非特許文献９、非特許文献１０、非特許文献１１、非特許文献１２参照））この手法は光の積分の問題は解決するが、畳み込みには入射反射輝度が遮蔽されず散乱しないことが前提とされるので、シャドーのような光の伝播の複雑性は無視する。そして、光の伝播、特にシャドーの複雑性を拡大する巧妙な手法が存在する。問題となるのは光の積分であり、上述の方法の大半は非常に大きな光源には適さない。
【００２２】
【課題を解決するための手段】
ここに記載するリアルタイムの画像レンダリング技術は、光の積分と光の伝播の複雑性を実時間でより適切に考慮する。この技術は、低周波数のライティング環境（領域支持ライティング基底関数（area-supported basis functions））を対象とし、低次の球面調和関数（ＳＨ）基底を使用してエリアシングを生じさせることなくそのような環境を効率的に表す。この技術の一態様は、オブジェクトがその光をオブジェクト自体または隣接する空間にどのように散乱するかをその散乱を入射ライティングから分離する形で表すことである。例えば、図８では、モデリングした人間の頭部のシャドーを付けていない画像と、放射輝度の自己伝達を用いて本明細書に記載する要領で生成した画像を比較している。
【００２３】
ここに記載する技術を簡潔に述べると、まず無限に遠い環境マップによって照らされている凸状の拡散オブジェクトがあるとする。その環境に対するオブジェクトの陰影の付いた「反応」は、入射する放射輝度を出射する放射輝度に写像する伝達関数と考えることができ、これはある事例では単にコサインの重みを付けた積分を行う。より複雑な積分は、凹形のオブジェクトがどのようにそれ自体にシャドーを作るかを取り込み、この場合は、各方向の可視性を表す追加的な伝播因数で被積分関数を乗ずる。
【００２４】
ここに記載する技術のアプローチは、所与のオブジェクトについて、シャドーイングのような複雑な伝達関数によって必要とされる高負荷の伝播シミュレーションを予め計算しておくものである。この結果得られる伝達関数は、オブジェクト表面上のベクトルまたは行列の稠密な集合として表される。これに対し、入射放射輝度は予め計算しておく必要がない。後に行うリアルタイムのレンダリング時に、グラフィックハードウェアで限られた数の点で動的に入射放射輝度をサンプリングすることができ、それをこの技術では高速の計算で球面調和関数（ＳＨ）基底に変換する。天空光モデルや円のような単純な幾何学的形といった分析モデルも使用することができる。
【００２５】
入射放射輝度と伝達関数の両方をＳＨ基底に表すことにより、ここに記載する技術では、光の積分を、各自の係数ベクトル間の単純なドット積（拡散対象物）、または小さな伝達行列を通じたライティング係数ベクトルの単純な線形変換（光沢対象物）とする。低周波数のライティング環境では必要とされる係数が非常に少なく（９〜２５個）、グラフィックハードウェアは１回のパスで結果を計算することができる。モンテカルロ法やマルチパスの光積分法と異なり、この技術による実行時計算は、光源がどれほど多くとも、あるいは大きくとも一定に保つことができる。一定量の実行時計算を保持するには大規模で滑らかなライティングに依拠して必要なＳＨ係数の数を制限する。
【００２６】
ここに記載する技術は、相互反射やコースティック（caustic）のような複雑な伝播効果を伝達関数中に表す。これらはすべて前処理としてシミュレートするので、伝達関数の基底係数だけが変化し、実行時の計算は変化しない。ここに記載する技術のアプローチでは、表面とボリュームに基づくジオメトリの両方を扱う。ＳＨ係数を多くすると、この技術は拡散だけでなく、相互反射を含む光沢のある（だが高度に鏡面ではない）対象物をも扱うことができる。例えば、有用な光沢のある効果を得るには２５個のＳＨ係数で十分である。自己伝達と称する剛性のオブジェクトからそれ自体への伝達に加えて、この技術は、剛性のオブジェクトからそれに隣接する空間への近傍伝達に一般化され、投じられたやわらかなシャドー、光沢性の反射、および動きのある対象物上のコースティックを可能にする。
【００２７】
【発明の実施の形態】
図１を参照すると、コンピュータグラフィック画像レンダリングシステム１００のソフトウェアアーキテクチャは、本明細書に記載する放射輝度自己伝達画像レンダリング技術を使用して、相互反射とセルフシャドーイング（self-shadowing）を付けたモデリングオブジェクトのリアルタイムの画像レンダリングを提供する。一般に、このソフトウェアアーキテクチャは、グローバルイルミネーションシミュレータ１２０、リアルタイム画像レンダリングエンジン１４０、およびグラフィックディスプレイドライバ１８０を含む。下記でより完全に説明する放射輝度自己伝達レンダリング技術では、グローバルイルミネーションシミュレータ１２０はこの技術の前処理段階を行い、ここで幾何学的オブジェクトモデル１１０から放射輝度自己伝達データ１３０を事前に計算しておく。幾何学的オブジェクトモデル１１０は、三角形メッシュ、ウェーブレット合成、あるいはモデリングするオブジェクトのジオメトリの任意の他の表現でよい。そしてリアルタイム画像レンダリングエンジン１４０は、予め計算された放射輝度自己伝達データを用いて、動的に変動するライティング環境１５０およびビュー方向１６０についてモデリングしたオブジェクトの画像をレンダリングし、ライティング環境１５０とビュー方向１６０は選択的に変えるか、あるいはユーザコントロール１７０で設定することができる。グラフィックディスプレイドライバ１８０は、画像を画像出力装置（例えばモニタ、プロジェクタ、プリンタなど）に出力する。
【００２８】
グラフィック画像レンダリングシステムの一部の実施形態では、シミュレータ１２０による放射輝度自己伝達の事前計算と、エンジン１４０による画像レンダリングは、下記のセクション６「コンピューティング環境」で述べるような単一のコンピュータで実装することができる。より一般的には、シミュレータ１２０を別のコンピュータで実行し、その結果得られるデータを、レンダリングエンジン１４０を実行してグラフィック画像を生成するコンピュータに転送することができる。
【００２９】
放射輝度自己伝達技術の概略：前処理として、グローバルイルミネーションシミュレータ１２０が照明シミュレーションをモデル１１０に実行して、これによりモデリングするオブジェクトがどのようにそれ自体にシャドーを作り光を散乱させるかを取り込む。この結果は、モデル上のベクトル（拡散の場合）または行列（光沢の場合）の稠密な集合として、放射輝度自己伝達データ１３０に記録される。画像のレンダリング時に、レンダリングエンジン１４０は、ライティング環境１５０に対応する入射放射輝度を球面調和関数（ＳＨ）基底に射影する（これについては下記で説明する）。次いで、モデルの伝達ベクトルまたは行列のフィールドをそのライティングの係数ベクトルに適用する。オブジェクトが拡散性である場合は、オブジェクト上の複数の点における伝達ベクトルとライティングの係数のドット積を求め、自己散乱したシェーディングを正確に生成する。オブジェクトに光沢がある場合は、ライティング係数に伝達行列を適用して、それらの点における自己散乱した入射放射輝度を表す球面関数の係数を得る。この関数にオブジェクトの双方向反射分布関数（ＢＲＤＦ）を畳み込み、次いでビューに依存する反射方向で評価して、レンダリングする画像中のオブジェクトの最終的なシェーディングを生成する。
【００３０】
１．球面調和関数（spherical harmonic）の概説
定義：球面調和関数は、１次元の円に対するフーリエ変換に類似する、球面Ｓに対する正規直交基を定義する。パラメータ化
ｓ＝（ｘ，ｙ，ｚ）＝（ｓｉｎθｃｏｓφ，ｓｉｎθｓｉｎφ，ｃｏｓθ）
を使用すると、基底関数は
【００３１】
【数１】
0004343564.tif 000002
【００３２】
と定義され、Ｐｌｍは同伴ルジャンドル多項式であり、Ｋｌｍは正規化定数である。
【００３３】
【数２】
0004343564.tif 000003
【００３４】
上の定義は複素基底を形成し、実数値の基底は単純な変換
【００３５】
【数３】
0004343564.tif 000004
【００３６】
によって与えられる。
【００３７】
低い値のｌ（バンドインデックスと呼ばれる）は、球面上の低周波数の基底関数を表す。帯域ｌの基底関数は、ｘ、ｙ、およびｚにおける次数ｌの多項式になる。評価は単純な漸化式で行うことができる（例えば、非特許文献１３、非特許文献１４参照）。
【００３８】
射影と再構築：ＳＨ基底は正規直交なので、積分（領域支持ライティング基底関数（area-supported basis function））
【００３９】
【数４】
0004343564.tif 000005
【００４０】
を介して、Ｓ上に定義されたスカラー関数ｆをその係数に射影することができる。
【００４１】
それらの係数は、ｎ次の再構築関数
【００４２】
【数５】
0004343564.tif 000006
【００４３】
を提供し、これは、帯域数ｎが増加するのにつれてｆへの近似の度合いが高まる。低周波信号は、数個のＳＨ帯域のみで正確に表すことができる。より高い周波数の信号は、低次の射影によって帯域制限する（すなわちエリアシングを生じさせずに滑らかにする）。
【００４４】
ｎ次への射影にはｎ２個の係数が必要である。しばしば、１つずつインデックス付けされた射影係数のベクトルと基底関数について、
【００４５】
【数６】
0004343564.tif 000007
【００４６】
を介して式（２）を書き換えると利便であり、ここでｉ＝ｌ（ｌ＋１）＋ｍ＋１である。この定式化により、再構築関数のｓにおける評価が、ｎ２成分の係数ベクトルｆｉと、評価された基底関数ｙｌ（ｓ）のベクトルとの単純なドット積を表すことが明白になる。
【００４７】
基本的性質：ＳＨ射影の性質の１つはその回転不変性である。すなわち、ＱがＳ上における任意の回転であるときにｇ（ｓ）＝ｆ（Ｑ（ｓ））とすると、
【００４８】
【数７】
0004343564.tif 000008
【００４９】
となる。
【００５０】
これは、１次元のフーリエ変換の推移不変の性質に類似する。実際、この性質は、回転したサンプル点セットにｆからのサンプルを集め、射影し、そして再度
【００５１】
【数８】
0004343564.tif 000009
【００５２】
回転する際に、ＳＨ射影によってエリアシングアーチファクトが生じないことを意味する。
【００５３】
ＳＨ基底が正規直交であることにより、Ｓに対して任意の２つの関数ａおよびｂが与えられたときに、それらの射影が
【００５４】
【数９】
0004343564.tif 000010
【００５５】
を満たすという有用な性質が得られる。すなわち、帯域制限した関数の積の積分が、それら関数の射影係数のドット積となる。
【００５６】
畳み込み：円対称の核関数ｈ（ｚ）への関数ｆの畳み込みはｈ＊ｆと表される。上記の式（３）により、より次元が高い回転グループＳＯではなくＳに結果が定義されるように、ｈは円対称でなければならない（そして、したがってｓではなくｚの単純な関数として定義できる）ことに留意されたい。この畳み込みの射影は、
【００５７】
【数１０】
0004343564.tif 000011
【００５８】
を満たす。換言すると、射影された畳み込みの係数は、単に個別に射影した関数のスケーリングした積になる。この性質は、ｈ（ｚ）＝ｍａｘ（ｚ，０）と定義される半球コサイン核を環境マップに畳み込んで放射照度マップを得るための高速の方式を提供する（例えば、非特許文献１２参照）。この場合、ｈの射影係数は解析的な式を用いて得ることができる。畳み込みの性質を使用して、より核が狭い予めフィルタリングされた環境マップを得ることもできる。ｈはｚを中心として円対称なので、その射影係数はｍ＝０のときのみ非ゼロになることに留意されたい。
【００５９】
積の射影：ａが分かっておりｂが分かっていない場合の球面関数ｃ（ｓ）＝ａ（ｓ）ｂ（ｓ）のペアの積の射影は、行列
【００６０】
【数１１】
0004343564.tif 000012
【００６１】
【数１２】
0004343564.tif 000013
【００６２】
を介した射影係数ｂｊの線形変換と考えることができ、総和は複製されたｊインデックスに示される。
【００６３】
【数１３】
0004343564.tif 000014
【００６４】
は対称行列であることに留意されたい。
【００６５】
回転：Ｑ，
【００６６】
【数１４】
0004343564.tif 000015
【００６７】
によって回転した再構築関数を、ｆの射影係数ｆｉの線形変換を使用して射影することができる。回転不変の性質により、この線形変換は各帯域の係数を個別に扱う。最も効率的な実装は、かなり複雑な漸化式を使用して回転Ｑのｚｙｚオイラー角の分解を使用して実現される（例えば、非特許文献１３、非特許文献１４、非特許文献１５参照）。低次関数のみを扱う際は、記号積分を使用してこれらの参考文献に記載される明白な回転式を実装することができる。
【００６８】
２．放射輝度の自己伝達
放射輝度の自己伝達は、オブジェクトＯがどのようにそれ自体にシャドーを作り、光を散乱するかを要約する。放射輝度の自己伝達は、ＳＨ基底を使用して、Ｌｐ（ｓ）と表される点ｐ∈Ｏにおける入射ライティングを初めにパラメータ化することによって表す。したがって、入射ライティングはｎ２個の係数のベクトル（Ｌｐ）ｉとして表される。実際には、このライティングは、表面近くで、恐らくは単一の点のみで動的かつまばらにサンプリングすることができる。これは、Ｏ自体の存在に起因しないＯ上のライティングの変動が小さいことを前提とする（セクション４．１「入射放射輝度フィールドの空間サンプリング」を参照されたい）。放射輝度の自己伝達は伝達ベクトルまたは行列として事前に計算し、Ｏの上に高密度で格納しておくこともできる。
【００６９】
伝達ベクトル（Ｍｐ）ｉは拡散表面に使用することができ、ライティングベクトルに対する線形変換を表し、内積を介してＬ’ｐと表すスカラー出射放射輝度を生成する。
【００７０】
【数１５】
0004343564.tif 000016
【００７１】
すなわち、（Ｍｐ）ｉの各成分は、ライティング基底関数（Ｌｐ）ｉがｐでシェーディングに与える線形の影響を表す。
【００７２】
伝達行列（Ｍｐ）ｙは光沢表面に用いることができ、ライティングベクトルに対する線形変換を表し、この変換では、スカラーではなく伝達された放射輝度Ｌ’ｐ（ｓ）の球面関数全体の射影係数が得られる。すなわち
【００７３】
【数１６】
0004343564.tif 000017
【００７４】
入射する放射輝度と伝達された放射輝度の違いは、Ｌ’ｐ（ｓ）はＯの存在に起因するシャドーイングと散乱の効果を含むのに対し、Ｌｐ（ｓ）はＯがシーンから除去されたと仮定して入射ライティングを表す点である。（Ｍｐ）ｙの成分は、伝達された放射輝度Ｌ’ｐ（ｓ）のｉ番目の係数に対する入射放射輝度（Ｌｐ）ｊのｊ番目のライティング係数の線形の影響を表す。次のセクションでは、Ｏ上の自己散乱に起因する、拡散表面の伝達ベクトルと光沢表面の伝達行列をどのように求めるかについて述べる。
【００７５】
２．１  拡散伝達
まずＯが拡散性であると想定する。点ｐ∈Ｏにおける最も単純な伝達関数は、スカラー関数
【００７６】
【数１７】
0004343564.tif 000018
【００７７】
として定義されるシャドーを付けない拡散伝達を表し、これにより拡散表面に対するビュー角度によって変化しない出射放射輝度が得られる。ここで、ρｐはｐにおけるオブジェクトのアルベドであり、ＬｐはＯがシーンから除去されたと仮定したｐにおける入射放射輝度であり、Ｎｐは、ｐにおけるオブジェクトの法線であり、ＨＮｐ（ｓ）＝ｍａｘ（Ｎｐ［ｋ、０）はＮｐを中心としたコサインの重みを付けた半球核である。ＬｐとＨＮｐを個別にＳＨ射影することにより、式（５）ではＴＤＵがそれらの係数ベクトルの内積になる。これによって得られる因数をここではライト関数Ｌｐおよび伝達関数Ｍｐと呼ぶ。この最初の単純なケースでは、
【００７８】
【数１８】
0004343564.tif 000019
【００７９】
となる。
【００８０】
Ｎｐが既知なので、伝達関数
【００８１】
【数１９】
0004343564.tif 000020
【００８２】
のＳＨ射影は事前に計算することができ、この結果伝達ベクトルが得られる。実際、Ｎｐを与えられれば単純な解析式で伝達ベクトルが得られるので記憶は不要である。
【００８３】
【数２０】
0004343564.tif 000021
【００８４】
は本質的にローパスフィルタなので、二次の射影（９つの係数）により、任意のライティング環境（滑らかでなくとも）で良好な精度が得られる。
【００８５】
シャドーを含めるために、シャドーを付けた拡散伝達を
【００８６】
【数２１】
0004343564.tif 000022
【００８７】
と定義し、追加的な可視性関数Ｖｐ（ｓ）→｛０，１｝は、方向ｓへのｐからの光線が再びＯと交差しない（すなわちシャドーができない）ときに１に等しくなる。シャドーを付けない伝達と同様に、この積分はＬｐのＳＨ射影と、伝達関数
【００８８】
【数２２】
0004343564.tif 000023
【００８９】
を使用して２つの関数に分解することができる。再びＬｐとＭｐを個別にＳＨ射影することにより、ＴＤＳ中の積分が係数ベクトルの内積になる。
【００９０】
この場合は伝達が重要である。放射輝度の自己伝達は伝播シミュレータを使用して事前に計算し（下記の「自己伝達の事前計算」のセクションで述べる）、その結果として得られる伝達ベクトル（Ｍｐ）ｉをＯ上の多くの点ｐに格納しておくことができる。先の場合と異なり、Ｖｐは例えば「ピンホール」に自らシャドーを作るなどにより高周波数のライティングを局所的に生成する可能性があるので、
【００９１】
【数２３】
0004343564.tif 000024
【００９２】
の２次射影は滑らかなライティング環境にも不正確になる可能性がある。４次または５次の射影を使用すると、滑らかなライティング環境の通常のメッシュで良好な結果が得られる。例えば、図９の拡散表面オブジェクトのシャドーを付けない画像とシャドーを付けた画像を比較されたい。
【００９３】
最後に、シャドーだけでなく拡散性の相互反射（例えば図９の相互反射を付けた画像を参照）を取り込むために、相互反射した拡散伝達を
【００９４】
【数２４】
0004343564.tif 000025
【００９５】
と定義することができ、
【００９６】
【数２５】
0004343564.tif 000026
【００９７】
は方向ｓにおけるＯ自体からの放射輝度である。問題点は、
【００９８】
【数２６】
0004343564.tif 000027
【００９９】
はｐから任意の距離にある点の出射放射輝度によって決まり、またＯ上で局所的なライティングが変動するので、入射放射輝度が無限遠の光源から発されない限り、ｐだけで入射放射輝度を与えられても放射輝度
【０１００】
【数２７】
0004343564.tif 000028
【０１０１】
が分からないことである。Ｏ上でライティングの変動が小さい場合は、Ｏが至るところでＬｐによって照らされているかのように
【０１０２】
【数２８】
0004343564.tif 000029
【０１０３】
に非常に近似する。したがって、ＴＤＩはＬｐに線形に依存し、先の２つの事例と同様に、２つの射影した関数、すなわち光に依存する関数とジオメトリに依存する関数の積に因数分解することができる。
【０１０４】
事前に計算される相互反射には、Ｏ上の入射ライティングが空間的に変化しないことを前提としなければならないが、より単純なシャドー付きの伝達にはこの前提は必要でない。この違いは、シャドー付きの伝達がｐにおける入射ライティングだけに依存するのに対して、相互反射した伝達はＬｑ≠ＬｐであるＯ上の多くの点ｑ≠ｐに依存する点である。したがって、入射放射輝度フィールドを十分に細かくサンプリングするのであれば（下記の「入射放射輝度フィールドの空間的サンプリング」のセクションで述べる）、局所的なライティングの変動を取り込むことができ、シャドーの付いた伝達が正確なものになる。
【０１０５】
【数２９】
0004343564.tif 000030
【０１０６】
が存在すると、相互反射の伝達関数
【０１０７】
【数３０】
0004343564.tif 000031
【０１０８】
を明示的に表すことが難しくなる。下記の「自己伝達の事前計算」のセクションでは、その射影係数を数的に計算する方法について述べる。
【０１０９】
２．２  光沢伝達
光沢のあるオブジェクトの自己伝達は同様に定義することができるが、核関数を一般化して（固定の）法線Ｎではなく反射方向Ｒに依存する（ビューに依存する）ようにする。先のＨ核と同様に、放射輝度の自己伝達は光沢性の反射を核Ｇ（ｓ，Ｒ，ｒ）とモデル化することができ、スカラーｒは鏡面反応の「光沢度」あるいは広さを定義する。
【０１１０】
シャドーを付けない場合、シャドーを付ける場合、および相互反射する場合の類似する３つの光沢伝達関数を
【０１１１】
【数３１】
0004343564.tif 000032
【０１１２】
と定義することができ、これらは、事前計算時にはどちらも未知の数量であるＬｐとＲの関数として方向Ｒのスカラー放射輝度を出力する。伝達はもはや単にｓの関数ではないので、ＳＨ係数の単純なベクトルに置き換えることはできない。
【０１１３】
スカラー伝達をＲおよびｒでパラメータ化する代わりに、より有用な分解は、入射放射輝度Ｌｐ（ｓ）を、Ｌ’ｐ（ｓ）と表す伝達される放射輝度の球面全体に伝達するものである。光沢の核ＧがＲを中心として円対称であるとすると、Ｌ’ｐ（ｓ）にＧ’ｒ（ｚ）＝Ｇ（ｓ，（０，０，１），ｒ）を畳み込み、Ｒで評価して最終的な結果を得ることができる。
【０１１４】
今度はＬ’ｐへの伝達をベクトルではなく行列として表す。例えば、光沢のシャドー付きの伝達は
【０１１５】
【数３２】
0004343564.tif 000033
【０１１６】
と定義することができ、これは、そのＳＨ射影を式（７）を介して対称行列
【０１１７】
【数３３】
0004343564.tif 000034
【０１１８】
として表すことのできるＬｐに対する線形オペレータである。非常に滑らかなライティングの場合でも、Ｏの光沢度が増すのに従ってより多くのＳＨ帯域を
【０１１９】
【数３４】
0004343564.tif 000035
【０１２０】
に使用し、そのような条件下では、低周波数のライティングをより高い周波数の伝達放射輝度に写像する非正方行列（例えば２５×９）が有用である。
【０１２１】
事前に計算する放射輝度の自己伝達の制限で重要なのは、ＴＤＩおよびＴＧＩにおける相互反射に影響するＯの材料特性（アルベドや光沢度など）が、前処理された伝達に「焼きこまれ（baked in）」、実行時に変えることができない点である。これに対して、相互反射のないより単純なシャドー付きの伝達では、Ｏ上での材料特性の実行時の変更および／または空間的変動が可能である。障害物または光源がＯの凸包に入ると誤差が生じる。Ｏは剛体として移動することしかできず、ある構成要素を全体に相対的に変形または移動することはできない。また、正確な相互反射にはＯ上のライティングの変動が低いことが必要であるという前提を思い出されたい。
【０１２２】
最後に、上記で定義した拡散伝達は、すでにコサインの重みを付けた法線の半球を畳み込んであるので表面を離れた後の放射輝度を生成するのに対し、光沢伝達は表面に入射する放射輝度を生成し、局所的なＢＲＤＦを畳み込んで最終的な出射放射輝度を得ることに留意されたい。また、光沢のあるＯには固定されたＢＲＤＦを焼きこんでおき、実行時のＧの畳み込みを不要にし、しかし柔軟性を限定することも可能である。
【０１２３】
図９は、光沢表面オブジェクトのシャドーを付けない画像、シャドーを付けた画像、および相互反射させた画像を示す。
【０１２４】
３．自己伝達の事前計算
次いで図２を参照すると、イルミネーションシミュレータ１２０（図１）は、放射体（emitter）としての無限球（シミュレーションのための「基準ライティング環境」）にＳＨ基底を使用してオブジェクトＯに行うグローバルイルミネーションシミュレーション２００で、モデリングされたオブジェクトの放射輝度の自己伝達を事前に計算する（「自己伝達の事前計算」とも称する）。このシミュレーションは、入射光Ｌの未知の球面のｎ次のＳＨ射影によって、すなわちｎ２個の未知の係数Ｌｉによってパラメータ化する。シミュレーション結果は、ＳＨ基底関数ｙｉ（ｓ）を放射体として用いてＬｉごとに個別に計算することができるが、一度にすべてを計算するほうが効率的である。基準ライティング環境（無限遠の球面Ｌ）は、実行時にＯ周囲の実際の入射放射輝度Ｌｐに置き換える。
【０１２５】
シミュレーション２００は、Ｌを発し直接サンプル点ｐ∈Ｏに到達する経路からの直接のシャドーをシミュレートするパス（「シャドーパス」２０２）から開始する。続くパス（「相互反射パス」２０４）では相互反射が追加され、ｐに達する前に複数回Ｏからはね返ったＬからの経路（Ｌｐ、ＬＤｐ、ＬＤＤｐなど）を表す。各パスで、ｐ表面上のすべてのサンプル点にエネルギーが集められる。大きな放射体（すなわち低周波数のＳＨ基底）では、エネルギーの集約がシューティング式の更新よりも効率的になる。
【０１２６】
サンプル点ｐ∈Ｏにおける方向の球面を取り込むために、シミュレーションでは大きな（１０ｋ〜３０ｋ）の準ランダムな方向の集合
【０１２７】
【数３５】
0004343564.tif 000036
【０１２８】
を生成する。シミュレーションでは、各方向ｓｄにおけるすべてのＳＨ基底関数の評価も事前に計算する。方向ｓｄは、最初の２０面体を１→２の二等分で精製して等面積の球面三角形にすることによって形成される階層ビンに編成する（球面上では１→４の細分で平面の場合のように等面積の三角形を得ることができない）シミュレーションでは６〜８の細分レベルを使用し、５１２〜２０４８個のビン（bins）を生成する。階層の各レベルにあるビンはいずれもｓｄのリストを含む。
【０１２９】
最初のパスすなわちシャドーパス２０２で、シミュレーション２００は、各ｐ∈Ｏについて、オブジェクトによってセルフオクルージョンの生じる（self-occlude）点ｐからの方向にタグを付ける（２１１）。シミュレーションは、階層を使用して半球の外側にある方向を排除（cull）して、ｐの法線Ｎｐを中心とする半球中にシャドーレイを投影する。シミュレーションでは、オクルージョンビットを有する各方向ｓｄすなわち１−Ｖｐ（ｓｄ）にタグを付け、ｓｄが半球内にあり、再度Ｏと交差する（すなわちＯ自身によってシャドーができる）かどうかを示す。オクルージョンビットは階層ビンとも関連付けられており、ビン内にオクルージョンの生じるｓｄがあるかどうかを示す。セルフオクルージョンがある方向とビンは、それらに対してさらなる相互反射パスを行えるようにタグ付けし、全くオクルージョンがないビン／サンプルは環境からの直接光だけを受ける。
【０１３０】
次いで、２１２でシミュレーション２００は点ｐの伝達放射輝度を積分する。拡散表面については、シミュレーションは、点ｐ∈Ｏごとに式（１０）のＭｐのＳＨ射影によりさらに伝達ベクトルを計算する。光沢表面には、シミュレーションは式（１１）のＭｐのＳＨ射影によって伝達行列を計算する。いずれの場合も、結果は、ｐで集められＬでパラメータ化された放射輝度を表す。伝達を計算するためのＳＨ射影を方向サンプルｓｄに対する数値積分により行い、この合計は次の規則を使用して蓄積された伝達となる。
【０１３１】
【表１】
0004343564.tif 000037
【０１３２】
上付文字０は反復回数を表す。各点ｐのベクトルＭｐまたは行列Ｍｐはシャドーパスの前に０に初期化し、シャドーパスではすべてのｐにおいてすべてのｓｄを合計する。この規則は、拡散伝達積分の式（１）と光沢伝達積分の式（７）を使用して得られる。
【０１３３】
図７も参照すると、後の相互反射パス２０４ではシャドーパスでオクルージョンビットがセットされたビンをトラバースして、今度は２２１で相互反射伝達を積分する。シャドーレイの代わりに、シミュレーションでは出射照明からの伝達を戻す光線をＯに当てる。光線（ｐ、ｓｄ）が別の点ｑ∈Ｏと交差する（ｑはｐに最も近い）場合は、ｑから方向−ｓｄに出射する放射輝度をサンプリングする。次の更新規則を使用し、この中で下付文字ｂははね返りパスの反復回数である。
【０１３４】
【表２】
0004343564.tif 000038
【０１３５】
シャドーパス２０２と同様に、相互反射パス２０４は、方向ｓｄにわたって伝達を累積する前に伝達ベクトルまたは行列を０に初期化することによって開始する。拡散の規則は、ＴＤＩの定義と式（１）から得られ、光沢の規則はＴＧＩの規則と式（６）および（７）から得られる。光沢伝達の定義中の真中の因数は、１つ前のはね返りパスｂ−１のｑから発しｐに戻る放射輝度を表す。Ｍｑは入射する放射輝度を格納するので、それにｑにおけるＯのＢＲＤＦを畳み込んで
【０１３６】
【数３６】
0004343564.tif 000039
【０１３７】
の方向への出射放射輝度を得、ｋにわたる総和を得なければならない。ａｋは、１つずつインデックス付けされた表記法で表されるｋ番目の畳み込み係数であることを思い出されたい。「ｒｅｆｌｅｃｔ」オペレータは、単に、その最初のベクトル引数をその２番目のベクトル引数について反映させる。式（７）は、（Ｍｐ）ｙは２つの球面関数の積によって形成されるのでシャドーを付けた光沢のある伝達の対称行列となることを意味することに注意されたい。これは、相互反射した光沢のある伝達には当てはまらない。
【０１３８】
２３０に示すように、相互反射パス２０４は、所与のパスの合計エネルギーが重要な閾値を下回るなどの終了条件が満たされるまで反復される。標準的なマテリアルでは相互反射はかなり急速に減少する。すべてのはね返りパスからの伝達の合計が相互反射に相当する。
【０１３９】
あるいは、このシミュレーションに単純な強化を加えることによりＯ内の鏡様の表面が可能になる。このシミュレーションでは、そのような表面における伝達は記録しない。代わりに、鏡状の表面に当たる光線は常に反射され、鏡状でない表面に達するまで伝播する。したがって、連続した反復における経路は（Ｌ［Ｓ］*ｐ、Ｌ［Ｓ］*Ｄ［Ｓ］*ｐ、Ｌ［Ｓ］*Ｄ［Ｓ］*Ｄ［Ｓ］*ｐなど）と表すことができ、Ｄは拡散性または光沢性のはね返りであり、Ｓは鏡面のはね返りである。これにより、ライティングの変化に動的に反応する拡散性または光沢の対象物へのコースティック（caustic）が取り込まれる。
【０１４０】
４．放射輝度伝達の実行時レンダリング
上述のシミュレーション２００（図２）は、ベクトルまたは行列として表されるオブジェクト表面上の多数の点ｐにおける放射輝度の伝達を取り込んだモデルを提供する。次いで図３を参照すると、リアルタイム画像レンダリングエンジン１４０（図１）は実行時手順３００でこのモデルを使用して、オブジェクトのリアルタイムの画像レンダリング時に、選択されたライティング環境とビュー方向でオブジェクトの自己伝達放射輝度を計算する。図４および図５はそれぞれ、拡散表面と光沢表面についての実行時手順３００による処理の流れを表す。
【０１４１】
手順３００で、レンダリングエンジン１４０は次の動作を実行時に行う。３１０で、Ｏに近い１つまたは複数のサンプル点Ｐｉにおける入射ライティング｛Ｌｐｉ｝をＳＨ基底について計算する。３２０でそのＬＰｉをＯの座標枠に合わせて回転し、それらをブレンドして（下記参照）Ｏ上の入射ライティングＬｐのフィールドを得る。３３０〜３９０で、Ｏ上の各点ｐで（Ｌｐ）ｉに線形変換を行って出射放射輝度を得る。この線形変換は、アクション３５０の拡散表面（式（８））の（Ｍｐ）ｉとのドット積か、またはアクション３６０の光沢表面（式（９））の（Ｍｐ）ｉｊとの行列ベクトル乗算である。光沢表面にはさらにアクション３７０および３８０があり、ここで乗算３６０によって得られる放射輝度ベクトルにｐにおけるＯのＢＲＤＦを畳み込み、ビューに依存する反射方向Ｒで評価する。
【０１４２】
アクション３１０のために、レンダリングエンジン１４０は、選択されたライティング環境の入射ライティングの表現として、事前に計算した環境マップをロードする、ソフトウェアで分析的ライティングモデルを評価する、あるいはグラフィックハードウェアを用いて放射輝度をサンプリングすることができる。アクション３２０の回転についてはセクション１の「球面調和関数の概略」で概説しており、これは点ｐごとではなく１つのオブジェクトにつき１回行われる。この回転を行うのは、伝達がＯについての共通の座標系を使用して記憶されるためである。Ｏが剛体として動いている場合は、Ｏの多数の伝達関数を回転するよりも、Ｏと整合するようにＬｐｉ中の数個の放射輝度サンプルを回転する方が効率的である。
【０１４３】
拡散表面の場合、アクション３５０の単純な実装は、頂点ごとに伝達ベクトルを格納し、頂点シェーダでドット積を行うものである。伝達ベクトルは頂点ごとに格納するのではなくテクスチャマップに格納し、ピクセルシェーダを使用して評価することもできる。これらの係数は常に［−１，１］の範囲にあるとは限らない符号付きの数量なので、［−８、８］というより広い範囲を提供するＤｉｒｅｃｔＸ８．１ピクセルシェーダ（Ｖ１．４）またはそれらに相当するＯｐｅｎＧＬ（拡張はＡＴＩによる）を使用することができる。一実装では、ピクセルシェーダはドット積を実行するのに８命令しか必要とせず、Ｌｐの射影係数を定数レジスタに格納する。
【０１４４】
色を付けた環境またはＯでのカラーブリーディングのシミュレーションには３回のパスを行い、各パスでｒ、ｇ、およびｂチャネルに個別のドット積を行う。それ以外の場合は１回のパスで十分である。
【０１４５】
光沢の自己伝達の場合は、伝達行列が現在の頂点シェーダまたはピクセルシェーダのどちらで操作するにも大きすぎる可能性があるので、式（９）の行列変換をソフトウェアで行うことができる。この結果は（Ｌ’ｐ）ｉ、すなわちＯ上の点ｐにおける伝達放射輝度のＳＨ係数になる。そしてピクセルシェーダで、Ｇ*の単純な余弦べき乗（Ｐｈｏｎｇローブ）の核を用いて畳み込み３７０を行い、結果を反射方向Ｒで評価することができる。この結果は
【０１４６】
【数３７】
0004343564.tif 000040
【０１４７】
と書くことができる。現在のグラフィックハードウェアでは５次までのＳＨ射影を評価することができる。
【０１４８】
４．１  入射放射輝度フィールドの空間サンプリング
入射放射輝度を動的にサンプリングするための単純かつ有用なアプローチは、Ｏの中心点で入射放射輝度をサンプリングするものである。Ｏ上の局所的なライティングの変動に対処するために、より精密な技術では複数の点で入射ライティングをサンプリングする。望ましい数の点を入力として与えられた場合に、ＩＣＰ（反復最近傍点）アルゴリズムを使用して適切なサンプル点のセットを前処理として得ることができる（例えば、非特許文献１６参照）。これにより、入射ライティングを実行時にサンプリングできるＯに近くＯ上に均一に分散した点Ｐｉの代表的なセットが生成される。レンダリングエンジン１４０は、結果得られるサンプリングされた放射輝度の各球面Ｌｐｉからの寄与をブレンドするＯ上の各点ｐにおける係数を事前に計算して、上でＬｐと表したＯ上の入射放射輝度フィールドを得ることもできる。
【０１４９】
図１１は、単一の点、ＩＣＰ点、および複数のサンプルにおける入射放射輝度のサンプリングと、図３の実行時手順３００を使用したレンダリングから得られる画像を表す。
【０１５０】
４．２  グラフィックハードウェアによるＳＨ放射輝度のサンプリング
グラフィックハードウェアは、動的なシーンで放射輝度サンプル｛ＬＰｉ｝を取り込むのに有用である。これを行うには、キューブマップの球面パラメータ化の６面に対応する各Ｐｉから６つの画像をレンダリングする。Ｏ自体はそのレンダリングから除去しなければならない。次いで式（１）の積分を使用してキューブマップ画像を各自のＳＨ係数に射影する。
【０１５１】
効率面から、それぞれｓのキューブマップのパラメータ化に対して評価した差分立体角で重みを付けた基底関数についてテクスチャを事前に計算しておく
【０１５２】
【数３８】
0004343564.tif 000041
【０１５３】
。すると、この結果得られる積分は、取り込まれたＬｐ（ｓ）のサンプルとテクスチャ
【０１５４】
【数３９】
0004343564.tif 000042
【０１５５】
の単純なドット積になる。
【０１５６】
この計算はグラフィックハードウェアで行うのが理想的である。あるいは、精度の問題と、ハードウェアでは内積を行うことができないことから、サンプリングした放射輝度画像を読み戻し、ソフトウェアで射影してもよい。この場合は読み戻す画像の解像度を可能な限り下げると有用である。
【０１５７】
低次のＳＨ射影は、適切に帯域制限されていることを前提として非常に低解像度のキューブマップを用いて計算することができる。例えば、すでに６次に帯域制限された球面信号は６４×４の画像を使用して射影することができ、べき乗単位信号（すなわち球面上での積分平方が１である信号）を想定することによって誤差を正規化した場合、平均ケースの二乗誤差が約０．３％、最悪ケースの二乗誤差が約１％である。（より正確には、平均ケースの誤差は、すべてのべき乗単位信号（unit-power signal）にわたって平均した基準信号と再構築信号との積分した二乗差である。最悪ケースの誤差はそれと同じ積分誤差であるが、最悪ケースのべき乗単位信号についての誤差である）６×８×８のマップでは、この誤差は平均で０．００３％、最悪ケースで０．０２％に低下する。不都合なのは、典型的な信号は球形に帯域制限されないことである。別の分析によると、サンプリングした２Ｄ画像に対する連続的な双一次の再構築を想定すると、６×８×８の画像を使用した６次への射影では平均ケースの二乗誤差が０．７％、最悪ケースの誤差が２％であり、６×１６×１６の画像ではそれぞれ０．２％と０．５％の誤差となる。
【０１５８】
例示的な実装ではハードウェアから６×１６×１６の画像を抽出する。点でサンプリングを行うレンダリングで常にそうであるように、上述の分析では点サンプルからの双一次の再構築を基準として使用するので、２Ｄ画像のエリアシングがなお問題となる。エリアシングを軽減するために、キューブマップ画像を各次元でスーパーサンプリング（例えば２倍）し、読み出しと射影の前にボックスフィルタリングしたデシメーションをハードウェアで行うことができる。同様に、前処理として基底関数テクスチャもスーパーサンプリングし、デシメーションすることができる。読み戻しとＳＨ射影を含む放射輝度サンプルの場合、この例示的な実装はＡＴＩ  Ｒａｄｅｏｎ８５００搭載のＰＩＩＩ−９３３ＰＣで約１．１６ｍｓを要する。
【０１５９】
４．３  ボリュームモデルの自己伝達
ボリュームの自己伝達データには表面の場合と同じフレームワークを使用する。これにより得られる事前計算モデルはライティングの実行時の変更を可能にし、任意の低周波数ライティング環境で正確なシャドーイングと相互反射が得られる。図１２は、雲のモデルがどのようにそれ自体にシャドーを作り、光を散乱するかを捉えるために実行時手順３００のボリューム自己伝達向けの変形（以下に説明する）でボリュームでの自己伝達を使用した雲モデルの画像を表す。
【０１６０】
表面の伝達と同様に、前処理ステップでＳＨ基底関数を放射体として使用してボリュームへのライティングをシミュレートする。相互反射のないシャドー付きの伝達（すなわち直接シャドーイング）の場合、シミュレータは、ボリュームを貫通するその経路によって減衰される、放射体からボリュームのすべてのボクセルｐへのエネルギーを集める。方向ｓｄに必要な数値積分は
【０１６１】
【数４０】
0004343564.tif 000043
【０１６２】
と表すことができ、Λ（ｐ→ｑ）は、ｐからｑへの経路に沿ったボリュームの積分した減衰であり、Ｄは光線（ｐ，ｓｄ）がボリュームを出るまでの距離である。相互反射を含めるために、シミュレーションはあらゆるボクセルｐをトラバースし、無作為の方向ｓｄに沿ってその伝達を前方に散乱する。伝達は、規則
【０１６３】
【数４１】
0004343564.tif 000044
【０１６４】
を使用して、ボリュームを出るまでｓｄに沿ったすべてのボクセルｑに置かれる。ボリュームにより多くのパスを行うと、さらに多くの間接的なはね返りが生成される。
【０１６５】
レンダリングは従来の方式で、すなわち透明度を考慮するアルファブレンディングを使用して３Ｄボリュームを貫通するスライスを後ろから前への順序で描画することによって行う。各スライスは、伝達ベクトルのサンプルを含む２Ｄ画像である。ピクセルシェーダは、ライティングの係数と、各スライスに陰影を付けるのに必要な伝達ベクトルとのドット積を計算する。
【０１６６】
５．放射輝度の近傍伝達
近傍伝達では、パラメータ化された低周波数ライティングについて、オブジェクトＯがそれに近接する環境に与える影響を事前に計算する。図１３は、シミュレーション２００（図２）の近傍伝達向けの変形（以下で説明する）と実行時レンダリング手順３００（図３）を用いて捉えた、ハンググライダーが近接する凹凸のある地形にぼんやりしたシャドーを投じている画像を示す。伝播のシミュレーションはセクション３「自己伝達の事前計算」の自己伝達のシミュレーションと同じであるが、Ｏの上ではなくＯを取り巻く３Ｄ空間内の点に行われる。実行時にこのボリューム中に任意の対象物Ｒを配置して、事前にＲを知らなくともＯによってＲの上に投じられるシャドー、反射、およびコースティックを捉えることができる。例えば、移動する乗り物Ｏが地面Ｒにシャドーを投じることができる。投じられたシャドーとライティングはライティングの変化にも反応する。例えば、ライトを動かすとＲ上のぼんやりしたシャドーが移動する。これは、光沢のある伝達を考慮し、動的なライティングを可能にすることにより放射照度ボリュームを一般化する（例えば、非特許文献１７参照）。
【０１６７】
Ｒは事前計算のステップでは未知なので、Ｏの近傍ボリュームは、ベクトルではなく伝達行列を格納する。Ｒの法線が事前に分からないので、これは拡散対象物にも当てはまる。
【０１６８】
一実装では、シミュレータは、Ｏの周囲の単純な３Ｄグリッド内の各点における伝達行列Ｍｐを事前に計算しておく。実行時にレンダリングエンジンはボリューム中の各点で式（９）の行列変換をソフトウェアで実行し、結果をグラフィックハードウェアにアップロードする。この結果は、伝達された放射輝度（Ｌ’ｐ）の係数を含むボリュームテクスチャであり、これをＲに適用する。
【０１６９】
次いで、ピクセルシェーダで、この伝達された放射輝度を使用して対象物にライトを当てる。拡散対象物は、式（６）を使用して放射輝度に余弦の重みを付けた半球Ｈ*を畳み込み、そして得たＳＨ射影をＲの法線ベクトルで評価する。光沢のある対象物は式（１２）を行う。
【０１７０】
自己伝達が予め計算された対象物には、ＯとＲが共通の座標系を共有しないという問題が生じる。このため、２つのオブジェクトのうち１つの伝達サンプルの稠密な集合を動的に回転してもう一方と整合させなければならない。その複雑さはＯ（ｎ４）であり、式（９）の行列変換を行う複雑さと同じであるが、より高次の射影の回転はその演算に比べてかなり負荷が高い。ハードウェアの改良によりこの問題はほどなく軽減されよう。
【０１７１】
自己伝達と比べると、近傍伝達ではいくつかの追加的な近似誤差が生じる。複数の近傍伝達オブジェクトから同一の対象物に投じられるシャドーまたは光は組み合わせるのが難しい。ＯまたはＲの存在に起因しない局所的なライティングの変動も問題となる。すなわち、正確な結果を提供するには、Ｏの近傍全体にわたってライティングがかなり一定でなければならない。詳細には、ＯおよびＲ以外のオブジェクトがＯの近傍に入りこむと、あるべきシャドーが欠けるなどのエラーが生じる。また、Ｏの近傍は、ＯがＲに投じ得るシャドーまたは光をいずれも包含するのに十分な大きさでなければならない。それでも、近傍伝達は、従来の方法ではリアルタイムで得ることができない効果を取り込む。
【０１７２】
６．コンピューティング環境
図６は、例示的な実施形態を実装することが可能な適切なコンピューティング環境６００の概略的な一例である。本発明は様々な汎用または特殊目的のコンピューティング環境で実装できることから、コンピューティング環境６００は本発明の使用または機能性の範囲に関して何らの制限を示唆するものではない。
【０１７３】
図６を参照すると、コンピューティング環境６００は、少なくとも１つの処理装置６１０およびメモリ６２０を含む。図６では、この最も基本的な構成６３０を点線内に含めている。処理装置６１０は、コンピュータ実行可能命令を実行し、実際のプロセッサであっても仮想プロセッサであってもよい。多重処理システムでは複数の処理装置でコンピュータ実効命令を実行して処理力を増大する。メモリ６２０は、揮発性メモリ（例えばレジスタ、キャッシュ、ＲＡＭ）、不揮発性メモリ（例えばＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリなど）、あるいはこれら２種の何らかの組合せであってよい。メモリ６２０は、放射輝度の自己伝達を用いるグラフィック画像レンダリングを実装するソフトウェア６８０を格納する。
【０１７４】
コンピューティング環境は、この他の機能を備えることが可能である。例えば、コンピューティング環境６００は、ストレージ６４０、１つまたは複数の入力装置６５０、１つまたは複数の出力装置６６０、および１つまたは複数の通信接続６７０を含む。バス、コントローラ、あるいはネットワークなどの相互接続機構（図示せず）は、コンピューティング環境６００の構成要素を相互に接続する。通例、オペレーティングシステムソフトウェア（図示せず）は、コンピューティング環境６００で実行される他のソフトウェアのための動作環境を提供し、コンピューティング環境６００の構成要素のアクティビティを調整する。先に述べたように、コンピューティング環境は、ＤｉｒｅｃｔＸおよびＯｐｅｎＧＬの関数ライブラリ、ＡＴＩ  ＲａｄｅｏｎやＮＶｉｄｉａ  ＧｅＦｏｒｃｅビデオカードなどのグラフィック処理ハードウェアおよびソフトウェアを含むことが望ましい。
【０１７５】
ストレージ６４０は取り外し可能でも取り外し不能でもよく、磁気ディスク、磁気テープまたはカセット、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＤＶＤ、あるいは情報の記憶に使用することができ、コンピューティング環境６００内でアクセスが可能な任意の他の媒体を含む。ストレージ６４０は、画像レンダリングシステム（図１）を実装するソフトウェア６８０の命令を記憶する。
【０１７６】
入力装置６５０は、キーボード、マウス、ペン、トラックボールなどのタッチ入力装置、音声入力装置、スキャニング装置、あるいはコンピューティング環境６００に入力を提供する他の装置でよい。オーディオには、入力装置６５０はサウンドカード、あるいはアナログまたはデジタル形態のオーディオ入力を受け付ける同様の装置でよい。出力装置６６０は、ディスプレイ、プリンタ、スピーカ、あるいはコンピューティング環境６００からの出力を提供する他の装置でよい。
【０１７７】
通信接続６７０は、通信媒体を通じた別のコンピューティングエンティティとの通信を可能にする。通信媒体は、コンピュータ実行命令、圧縮されたオーディオまたはビデオ情報、あるいはその他のデータなどの情報を変調データ信号で伝搬する。変調データ信号とは、その信号中に情報を符号化するような形でその特性の１つまたは複数を設定または変更した信号である。例として、これらに限定しないが、通信媒体には、電気、光学、ＲＦ、赤外線、音響、あるいは他の搬送波を用いて実装される配線式または無線式の技術が含まれる。
【０１７８】
本発明は、コンピュータ可読媒体の一般的な文脈で説明することができる。コンピュータ可読媒体は、コンピューティング環境内でアクセスできる任意の利用可能な媒体である。例として、これらに限定しないが、コンピューティング環境６００ではコンピュータ可読媒体はメモリ６２０、ストレージ６４０、通信媒体、および上述の媒体の任意の組合せを含む。
【０１７９】
本発明は、プログラムモジュールに含まれ、コンピューティング環境で実際あるいは仮想のターゲットプロセッサで実行されるコンピュータ実行可能命令の一般的な文脈で説明することができる。一般に、プログラムモジュールには、特定タスクを行う、あるいは特定の抽象データタイプを実装するルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造などが含まれる。プログラムモジュールの機能は、各種の実施形態で必要に応じてプログラムモジュール間で組み合わせるか、または分割することができる。プログラムモジュールのコンピュータ実行可能命令は、ローカルな、または分散したコンピューティング環境で実行することができる。
【０１８０】
提示のために、この詳細な説明ではコンピューティング環境内のコンピュータ動作を説明するために「判定する（determine）」、「入手する（get）」、「調整する（adjust）」、および「適用する（apply）」といった語を使用している。これらの語は、コンピュータによって行われる動作の高レベルの抽象であり、人間によって行われる行為と混同すべきではない。これらの語に対応する実際のコンピュータ動作は実装によって異なる。
【０１８１】
例示的実施形態を参照して本発明の原理を説明し、例示したが、この例示的実施形態は上記のような原理から逸脱することなく構成と詳細を変更できることを認識されよう。特に指摘しない限りは、本明細書に記載するプログラム、プロセス、あるいは方法は任意の特定タイプのコンピューティング環境に関連しない、あるいは制限されないことを理解されたい。各種タイプの汎用または特殊化コンピューティング環境は、本明細書に記載する教示による動作とともに使用することができ、あるいはその動作を行うことができる。ソフトウェアとして示した例示的実施形態の要素はハードウェアに実装してもよく、その逆も同様である。
【０１８２】
本発明の原理を応用することが可能な多くの可能な実施形態に照らし、頭記の特許請求の範囲およびその均等物の範囲および精神に含まれ得る実施形態はすべて本発明として請求する。
【図面の簡単な説明】
【図１】動的な低周波数のライティング環境におけるリアルタイム画像レンダリングのための事前計算された放射輝度自己伝達を取り入れるコンピュータグラフィックソフトウェアアーキテクチャのブロック図である。
【図２】図１の画像レンダリングシステムにおける自己伝達の事前計算の流れ図である。
【図３】図１の画像レンダリングシステムにおける放射輝度伝達のリアルタイムレンダリングの流れ図である。
【図４】図３のリアルタイムレンダリングにおける実行時の拡散表面自己伝達を処理する流れ図である。
【図５】図３のリアルタイムレンダリングにおける実行時の光沢表面自己伝達を処理する流れ図である。
【図６】図１の画像レンダリングシステムに適したコンピューティング環境のブロック図である。
【図７】図２の自己伝達の事前計算でシミュレートした相互反射を表す図である。
【図８】ともにシャドーを付けず、図３のリアルタイムレンダリングを介して生成された画像の図である。
【図９】ともにシャドーを付けず、図３のリアルタイムレンダリングを介して生成された、拡散表面の自己伝達の効果を示す画像の図である。
【図１０】ともにシャドーを付けず、図３のリアルタイムレンダリングを介して生成された、光沢表面の自己伝達の効果を示す画像の図である。
【図１１】それぞれ単一の点、反復最近傍点アルゴリズム（ＩＣＰ）の点、および複数のサンプルで入射放射輝度をサンプリングした、図３のリアルタイムレンダリングを介して生成された画像の図である。
【図１２】図３のリアルタイムレンダリングを介して生成されたボリュームの自己伝達の画像の図である。
【図１３】図３のリアルタイムレンダリングを介して生成された近傍伝達の画像の図である。
【符号の説明】
１００  コンピュータグラフィック画像レンダリングシステム
１１０  幾何学的オブジェクトモデル
１３０  放射輝度自己伝達データ
１２０  グローバルイルミネーションシミュレータ
１４０  リアルタイム画像レンダリングエンジン
１５０  ライティング環境
１６０  ビュー方向
１７０  ユーザコントロール
１８０  グラフィックディスプレイドライバ
６００  コンピューティング環境
６１０  処理装置
６２０  メモリ
６４０  ストレージ
６５０  入力装置
６６０  出力装置
６７０  通信接続
６８０  ソフトウェア
【図１】
0004343564.tif 000045
【図２】
0004343564.tif 000046
【図３】
0004343564.tif 000047
【図４】
0004343564.tif 000048
【図５】
0004343564.tif 000049
【図６】
0004343564.tif 000050
【図７】
0004343564.tif 000051
【図８】
0004343564.tif 000052
【図９】
0004343564.tif 000053
【図１０】
0004343564.tif 000054
【図１１】
0004343564.tif 000055
【図１２】
0004343564.tif 000056
【図１３】
0004343564.tif 000057