JP4343564B2 - Graphic image rendering using radiance self-transmission in a low-frequency lighting environment - Google Patents

Graphic image rendering using radiance self-transmission in a low-frequency lighting environment Download PDF

Info

Publication number
JP4343564B2
JP4343564B2 JP2003081431A JP2003081431A JP4343564B2 JP 4343564 B2 JP4343564 B2 JP 4343564B2 JP 2003081431 A JP2003081431 A JP 2003081431A JP 2003081431 A JP2003081431 A JP 2003081431A JP 4343564 B2 JP4343564 B2 JP 4343564B2
Authority
JP
Japan
Prior art keywords
radiance
modeled object
transfer
image
lighting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003081431A
Other languages
Japanese (ja)
Other versions
JP2003296750A (en
Inventor
ジェイ.スローン ピーター−パイク
エム.スナイダー ジョン
カウツ ジャン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2003296750A publication Critical patent/JP2003296750A/en
Application granted granted Critical
Publication of JP4343564B2 publication Critical patent/JP4343564B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、コンピュータグラフィック画像のレンダリング技術に関し、より詳細には、レンダリング画像におけるモデリングされたオブジェクトのライティングおよびシャドーイングに関する。
【0002】
【従来の技術】
本特許文書の開示の一部は著作権保護の対象となる題材を含んでいる。著作権所有者は、いずれの者による米国特許商標庁の特許ファイルまたはレコードに記載される本特許開示の複製に対して異議はないが、その他の点ではすべての著作権を保有する。
【0003】
面光源からのライティング、柔らかなシャドー、および相互反射は、現実感のある画像合成に重要な効果である。不都合なことに、モンテカルロレイトレーシング、ラジオシティ、或いは複数の点光源にわたって合計するマルチパスレンダリングを含む大規模なライティング環境にわたって積分するための一般的な方法は、リアルタイムのレンダリングには実際的でない。(モンテカルロレイトレーシングに関する代表的文献がある(例えば、非特許文献1、非特許文献2、非特許文献3参照)。(ラジオシティ技術について記述がある(例えば、非特許文献4参照))(各種のマルチパスレンダリング技術に関する代表的文献がある(例えば、非特許文献5、非特許文献6、非特許文献7参照))
【0004】
【非特許文献1】
Cook, R. Porter, T and Carpenter, L, Distributed Ray Tracing, SIGGRAPH'84, 137〜146
【0005】
【非特許文献2】
Jensen, H, Global Illumination using Photon Maps, Eurographics Workshop on Rendering 1996, 21〜30
【0006】
【非特許文献3】
Kajiya, J, The Rendering Equation, SIGGRAPH'86, 143〜150
【0007】
【非特許文献4】
Cohen, M and Wallace, J, Radiosity and Realistic Image Synthesis, Academic Press Professional, Cambridge, 1993
【0008】
【非特許文献5】
Haeberli, P and Akeley, K, The Accumulation Buffer: Hardware Support for High-Quality Rendering, SIGGRAPH'90, 309〜318
【0009】
【非特許文献6】
Keller, A, Instant Radiosity, SIGGRAPH'97, 49〜56
【0010】
【非特許文献7】
Segal, M, Korobkin, C, van Widenfelt, R, Foran, J and Haeberli, P, Fast Shadows and Lighting Effects Using Texture Mapping, SIGGRAPH'92, 249〜252
【0011】
【非特許文献8】
Cabral, B、Olano, M and Nemec, P, Reflection Space Image Based Rendering, SIGGRAPH'99, 165〜170
【0012】
【非特許文献9】
Greene, N, Environment Mapping and Other applications of World Projections, IEEE CG & A, 6(11): 21〜29, 1986
【0013】
【非特許文献10】
Heidrich, W, Seidel H, Realistic, Hardware-Accelerated Shading and Lighting, SIGGRAPH'99, 171〜178
【0014】
【非特許文献11】
Kautz, J, Vazquez, P, Heidrich, W and Seidel, H, A Unified Approach to Pre-filtered Environment Maps, Eurographics Workshop on Rendering 2000, 185〜196
【0015】
【非特許文献12】
Ramamoorthi, R and Hanrahan, P, An Efficient Representation for Irradiance Environment Maps, SIGGRAPH'01, 497〜500
【0016】
【非特許文献13】
Edmonds, A, Angular Momentum in Quantum Mechanics, Princeton University, Princeton, 1960
【0017】
【非特許文献14】
Zare, R, Angular Momentum: Understanding Spatial Aspects in Chemistry and Physics, Wiley, New York、1987
【0018】
【非特許文献15】
Chirikjian, G and Stein, D, Kinematic Design and Communication of a Spherical Stepper Motor, IEEE Transactions on Mechatronics, 4(4), Dec. 1999
【0019】
【非特許文献16】
Linde, Y, Buzo and Gray, R, An algorithm for Vector Quantizer Design, IEEE Transaction on Communication COM-28, 1980, 84〜95
【0020】
【非特許文献17】
Greger, G., Shirley, P, Hubbard, P, and Greenberg, D, The Irrandiance Volume, IEEE Computer Graphics and Applications, 6(11): 21〜29, 1986
【0021】
【発明が解決しようとする課題】
リアルタイムの現実感のあるグローバルイルミネーションには3つの困難が伴う。すなわち、現実の材料の複雑で空間的に変動する双方向反射分布関数(BRDF)をモデル化しなければならず(BRDFの複雑性)、各点におけるライティング方向の半球にわたる積分(光の積分)が必要であり、そして光源から対象物(receiver)への光路中にある介在物によるシャドーなどのはね返り(bouncing)/オクルージョン効果を考慮しなければならない(光の伝播の複雑性)。多くの研究では、BRDFの複雑性を拡大して(例えば光沢のある異方性反射)、方向または点の合計として入射ライティングを表すことにより光の積分の問題を解決することに的を絞ってきた。したがって、光の積分は、結果として単に数点で分析的あるいは表形式のBRDFをサンプリングするのと同じことになるが、大きな光源の場合には扱いにくい。第2の系統の研究では放射輝度をサンプリングし、その輝度に予め様々な大きさの核(kernel)を畳み込んでおく。(例えば次を参照されたい(例えば、非特許文献8、非特許文献9、非特許文献10、非特許文献11、非特許文献12参照))この手法は光の積分の問題は解決するが、畳み込みには入射反射輝度が遮蔽されず散乱しないことが前提とされるので、シャドーのような光の伝播の複雑性は無視する。そして、光の伝播、特にシャドーの複雑性を拡大する巧妙な手法が存在する。問題となるのは光の積分であり、上述の方法の大半は非常に大きな光源には適さない。
【0022】
【課題を解決するための手段】
ここに記載するリアルタイムの画像レンダリング技術は、光の積分と光の伝播の複雑性を実時間でより適切に考慮する。この技術は、低周波数のライティング環境(領域支持ライティング基底関数(area-supported basis functions))を対象とし、低次の球面調和関数(SH)基底を使用してエリアシングを生じさせることなくそのような環境を効率的に表す。この技術の一態様は、オブジェクトがその光をオブジェクト自体または隣接する空間にどのように散乱するかをその散乱を入射ライティングから分離する形で表すことである。例えば、図8では、モデリングした人間の頭部のシャドーを付けていない画像と、放射輝度の自己伝達を用いて本明細書に記載する要領で生成した画像を比較している。
【0023】
ここに記載する技術を簡潔に述べると、まず無限に遠い環境マップによって照らされている凸状の拡散オブジェクトがあるとする。その環境に対するオブジェクトの陰影の付いた「反応」は、入射する放射輝度を出射する放射輝度に写像する伝達関数と考えることができ、これはある事例では単にコサインの重みを付けた積分を行う。より複雑な積分は、凹形のオブジェクトがどのようにそれ自体にシャドーを作るかを取り込み、この場合は、各方向の可視性を表す追加的な伝播因数で被積分関数を乗ずる。
【0024】
ここに記載する技術のアプローチは、所与のオブジェクトについて、シャドーイングのような複雑な伝達関数によって必要とされる高負荷の伝播シミュレーションを予め計算しておくものである。この結果得られる伝達関数は、オブジェクト表面上のベクトルまたは行列の稠密な集合として表される。これに対し、入射放射輝度は予め計算しておく必要がない。後に行うリアルタイムのレンダリング時に、グラフィックハードウェアで限られた数の点で動的に入射放射輝度をサンプリングすることができ、それをこの技術では高速の計算で球面調和関数(SH)基底に変換する。天空光モデルや円のような単純な幾何学的形といった分析モデルも使用することができる。
【0025】
入射放射輝度と伝達関数の両方をSH基底に表すことにより、ここに記載する技術では、光の積分を、各自の係数ベクトル間の単純なドット積(拡散対象物)、または小さな伝達行列を通じたライティング係数ベクトルの単純な線形変換(光沢対象物)とする。低周波数のライティング環境では必要とされる係数が非常に少なく(9〜25個)、グラフィックハードウェアは1回のパスで結果を計算することができる。モンテカルロ法やマルチパスの光積分法と異なり、この技術による実行時計算は、光源がどれほど多くとも、あるいは大きくとも一定に保つことができる。一定量の実行時計算を保持するには大規模で滑らかなライティングに依拠して必要なSH係数の数を制限する。
【0026】
ここに記載する技術は、相互反射やコースティック(caustic)のような複雑な伝播効果を伝達関数中に表す。これらはすべて前処理としてシミュレートするので、伝達関数の基底係数だけが変化し、実行時の計算は変化しない。ここに記載する技術のアプローチでは、表面とボリュームに基づくジオメトリの両方を扱う。SH係数を多くすると、この技術は拡散だけでなく、相互反射を含む光沢のある(だが高度に鏡面ではない)対象物をも扱うことができる。例えば、有用な光沢のある効果を得るには25個のSH係数で十分である。自己伝達と称する剛性のオブジェクトからそれ自体への伝達に加えて、この技術は、剛性のオブジェクトからそれに隣接する空間への近傍伝達に一般化され、投じられたやわらかなシャドー、光沢性の反射、および動きのある対象物上のコースティックを可能にする。
【0027】
【発明の実施の形態】
図1を参照すると、コンピュータグラフィック画像レンダリングシステム100のソフトウェアアーキテクチャは、本明細書に記載する放射輝度自己伝達画像レンダリング技術を使用して、相互反射とセルフシャドーイング(self-shadowing)を付けたモデリングオブジェクトのリアルタイムの画像レンダリングを提供する。一般に、このソフトウェアアーキテクチャは、グローバルイルミネーションシミュレータ120、リアルタイム画像レンダリングエンジン140、およびグラフィックディスプレイドライバ180を含む。下記でより完全に説明する放射輝度自己伝達レンダリング技術では、グローバルイルミネーションシミュレータ120はこの技術の前処理段階を行い、ここで幾何学的オブジェクトモデル110から放射輝度自己伝達データ130を事前に計算しておく。幾何学的オブジェクトモデル110は、三角形メッシュ、ウェーブレット合成、あるいはモデリングするオブジェクトのジオメトリの任意の他の表現でよい。そしてリアルタイム画像レンダリングエンジン140は、予め計算された放射輝度自己伝達データを用いて、動的に変動するライティング環境150およびビュー方向160についてモデリングしたオブジェクトの画像をレンダリングし、ライティング環境150とビュー方向160は選択的に変えるか、あるいはユーザコントロール170で設定することができる。グラフィックディスプレイドライバ180は、画像を画像出力装置(例えばモニタ、プロジェクタ、プリンタなど)に出力する。
【0028】
グラフィック画像レンダリングシステムの一部の実施形態では、シミュレータ120による放射輝度自己伝達の事前計算と、エンジン140による画像レンダリングは、下記のセクション6「コンピューティング環境」で述べるような単一のコンピュータで実装することができる。より一般的には、シミュレータ120を別のコンピュータで実行し、その結果得られるデータを、レンダリングエンジン140を実行してグラフィック画像を生成するコンピュータに転送することができる。
【0029】
放射輝度自己伝達技術の概略:前処理として、グローバルイルミネーションシミュレータ120が照明シミュレーションをモデル110に実行して、これによりモデリングするオブジェクトがどのようにそれ自体にシャドーを作り光を散乱させるかを取り込む。この結果は、モデル上のベクトル(拡散の場合)または行列(光沢の場合)の稠密な集合として、放射輝度自己伝達データ130に記録される。画像のレンダリング時に、レンダリングエンジン140は、ライティング環境150に対応する入射放射輝度を球面調和関数(SH)基底に射影する(これについては下記で説明する)。次いで、モデルの伝達ベクトルまたは行列のフィールドをそのライティングの係数ベクトルに適用する。オブジェクトが拡散性である場合は、オブジェクト上の複数の点における伝達ベクトルとライティングの係数のドット積を求め、自己散乱したシェーディングを正確に生成する。オブジェクトに光沢がある場合は、ライティング係数に伝達行列を適用して、それらの点における自己散乱した入射放射輝度を表す球面関数の係数を得る。この関数にオブジェクトの双方向反射分布関数(BRDF)を畳み込み、次いでビューに依存する反射方向で評価して、レンダリングする画像中のオブジェクトの最終的なシェーディングを生成する。
【0030】
1.球面調和関数(spherical harmonic)の概説
定義:球面調和関数は、1次元の円に対するフーリエ変換に類似する、球面Sに対する正規直交基を定義する。パラメータ化
s=(x,y,z)=(sinθcosφ,sinθsinφ,cosθ)
を使用すると、基底関数は
【0031】
【数1】

Figure 0004343564
【0032】
と定義され、P は同伴ルジャンドル多項式であり、K は正規化定数である。
【0033】
【数2】
Figure 0004343564
【0034】
上の定義は複素基底を形成し、実数値の基底は単純な変換
【0035】
【数3】
Figure 0004343564
【0036】
によって与えられる。
【0037】
低い値のl(バンドインデックスと呼ばれる)は、球面上の低周波数の基底関数を表す。帯域lの基底関数は、x、y、およびzにおける次数lの多項式になる。評価は単純な漸化式で行うことができる(例えば、非特許文献13、非特許文献14参照)。
【0038】
射影と再構築:SH基底は正規直交なので、積分(領域支持ライティング基底関数(area-supported basis function))
【0039】
【数4】
Figure 0004343564
【0040】
を介して、S上に定義されたスカラー関数fをその係数に射影することができる。
【0041】
それらの係数は、n次の再構築関数
【0042】
【数5】
Figure 0004343564
【0043】
を提供し、これは、帯域数nが増加するのにつれてfへの近似の度合いが高まる。低周波信号は、数個のSH帯域のみで正確に表すことができる。より高い周波数の信号は、低次の射影によって帯域制限する(すなわちエリアシングを生じさせずに滑らかにする)。
【0044】
n次への射影にはn個の係数が必要である。しばしば、1つずつインデックス付けされた射影係数のベクトルと基底関数について、
【0045】
【数6】
Figure 0004343564
【0046】
を介して式(2)を書き換えると利便であり、ここでi=l(l+1)+m+1である。この定式化により、再構築関数のsにおける評価が、n成分の係数ベクトルfと、評価された基底関数y(s)のベクトルとの単純なドット積を表すことが明白になる。
【0047】
基本的性質:SH射影の性質の1つはその回転不変性である。すなわち、QがS上における任意の回転であるときにg(s)=f(Q(s))とすると、
【0048】
【数7】
Figure 0004343564
【0049】
となる。
【0050】
これは、1次元のフーリエ変換の推移不変の性質に類似する。実際、この性質は、回転したサンプル点セットにfからのサンプルを集め、射影し、そして再度
【0051】
【数8】
Figure 0004343564
【0052】
回転する際に、SH射影によってエリアシングアーチファクトが生じないことを意味する。
【0053】
SH基底が正規直交であることにより、Sに対して任意の2つの関数aおよびbが与えられたときに、それらの射影が
【0054】
【数9】
Figure 0004343564
【0055】
を満たすという有用な性質が得られる。すなわち、帯域制限した関数の積の積分が、それら関数の射影係数のドット積となる。
【0056】
畳み込み:円対称の核関数h(z)への関数fの畳み込みはhfと表される。上記の式(3)により、より次元が高い回転グループSOではなくSに結果が定義されるように、hは円対称でなければならない(そして、したがってsではなくzの単純な関数として定義できる)ことに留意されたい。この畳み込みの射影は、
【0057】
【数10】
Figure 0004343564
【0058】
を満たす。換言すると、射影された畳み込みの係数は、単に個別に射影した関数のスケーリングした積になる。この性質は、h(z)=max(z,0)と定義される半球コサイン核を環境マップに畳み込んで放射照度マップを得るための高速の方式を提供する(例えば、非特許文献12参照)。この場合、hの射影係数は解析的な式を用いて得ることができる。畳み込みの性質を使用して、より核が狭い予めフィルタリングされた環境マップを得ることもできる。hはzを中心として円対称なので、その射影係数はm=0のときのみ非ゼロになることに留意されたい。
【0059】
積の射影:aが分かっておりbが分かっていない場合の球面関数c(s)=a(s)b(s)のペアの積の射影は、行列
【0060】
【数11】
Figure 0004343564
【0061】
【数12】
Figure 0004343564
【0062】
を介した射影係数bの線形変換と考えることができ、総和は複製されたjインデックスに示される。
【0063】
【数13】
Figure 0004343564
【0064】
は対称行列であることに留意されたい。
【0065】
回転:Q,
【0066】
【数14】
Figure 0004343564
【0067】
によって回転した再構築関数を、fの射影係数fの線形変換を使用して射影することができる。回転不変の性質により、この線形変換は各帯域の係数を個別に扱う。最も効率的な実装は、かなり複雑な漸化式を使用して回転Qのzyzオイラー角の分解を使用して実現される(例えば、非特許文献13、非特許文献14、非特許文献15参照)。低次関数のみを扱う際は、記号積分を使用してこれらの参考文献に記載される明白な回転式を実装することができる。
【0068】
2.放射輝度の自己伝達
放射輝度の自己伝達は、オブジェクトOがどのようにそれ自体にシャドーを作り、光を散乱するかを要約する。放射輝度の自己伝達は、SH基底を使用して、L(s)と表される点p∈Oにおける入射ライティングを初めにパラメータ化することによって表す。したがって、入射ライティングはn個の係数のベクトル(L)iとして表される。実際には、このライティングは、表面近くで、恐らくは単一の点のみで動的かつまばらにサンプリングすることができる。これは、O自体の存在に起因しないO上のライティングの変動が小さいことを前提とする(セクション4.1「入射放射輝度フィールドの空間サンプリング」を参照されたい)。放射輝度の自己伝達は伝達ベクトルまたは行列として事前に計算し、Oの上に高密度で格納しておくこともできる。
【0069】
伝達ベクトル(Mは拡散表面に使用することができ、ライティングベクトルに対する線形変換を表し、内積を介してL’と表すスカラー出射放射輝度を生成する。
【0070】
【数15】
Figure 0004343564
【0071】
すなわち、(Mの各成分は、ライティング基底関数(Lがpでシェーディングに与える線形の影響を表す。
【0072】
伝達行列(Mは光沢表面に用いることができ、ライティングベクトルに対する線形変換を表し、この変換では、スカラーではなく伝達された放射輝度L’(s)の球面関数全体の射影係数が得られる。すなわち
【0073】
【数16】
Figure 0004343564
【0074】
入射する放射輝度と伝達された放射輝度の違いは、L’(s)はOの存在に起因するシャドーイングと散乱の効果を含むのに対し、L(s)はOがシーンから除去されたと仮定して入射ライティングを表す点である。(Mの成分は、伝達された放射輝度L’(s)のi番目の係数に対する入射放射輝度(L)jのj番目のライティング係数の線形の影響を表す。次のセクションでは、O上の自己散乱に起因する、拡散表面の伝達ベクトルと光沢表面の伝達行列をどのように求めるかについて述べる。
【0075】
2.1 拡散伝達
まずOが拡散性であると想定する。点p∈Oにおける最も単純な伝達関数は、スカラー関数
【0076】
【数17】
Figure 0004343564
【0077】
として定義されるシャドーを付けない拡散伝達を表し、これにより拡散表面に対するビュー角度によって変化しない出射放射輝度が得られる。ここで、ρはpにおけるオブジェクトのアルベドであり、LはOがシーンから除去されたと仮定したpにおける入射放射輝度であり、Nは、pにおけるオブジェクトの法線であり、HNp(s)=max(N[k、0)はNを中心としたコサインの重みを付けた半球核である。LとHNpを個別にSH射影することにより、式(5)ではTDUがそれらの係数ベクトルの内積になる。これによって得られる因数をここではライト関数Lおよび伝達関数Mと呼ぶ。この最初の単純なケースでは、
【0078】
【数18】
Figure 0004343564
【0079】
となる。
【0080】
が既知なので、伝達関数
【0081】
【数19】
Figure 0004343564
【0082】
のSH射影は事前に計算することができ、この結果伝達ベクトルが得られる。実際、Nを与えられれば単純な解析式で伝達ベクトルが得られるので記憶は不要である。
【0083】
【数20】
Figure 0004343564
【0084】
は本質的にローパスフィルタなので、二次の射影(9つの係数)により、任意のライティング環境(滑らかでなくとも)で良好な精度が得られる。
【0085】
シャドーを含めるために、シャドーを付けた拡散伝達を
【0086】
【数21】
Figure 0004343564
【0087】
と定義し、追加的な可視性関数V(s)→{0,1}は、方向sへのpからの光線が再びOと交差しない(すなわちシャドーができない)ときに1に等しくなる。シャドーを付けない伝達と同様に、この積分はLのSH射影と、伝達関数
【0088】
【数22】
Figure 0004343564
【0089】
を使用して2つの関数に分解することができる。再びLとMを個別にSH射影することにより、TDS中の積分が係数ベクトルの内積になる。
【0090】
この場合は伝達が重要である。放射輝度の自己伝達は伝播シミュレータを使用して事前に計算し(下記の「自己伝達の事前計算」のセクションで述べる)、その結果として得られる伝達ベクトル(MをO上の多くの点pに格納しておくことができる。先の場合と異なり、Vは例えば「ピンホール」に自らシャドーを作るなどにより高周波数のライティングを局所的に生成する可能性があるので、
【0091】
【数23】
Figure 0004343564
【0092】
の2次射影は滑らかなライティング環境にも不正確になる可能性がある。4次または5次の射影を使用すると、滑らかなライティング環境の通常のメッシュで良好な結果が得られる。例えば、図9の拡散表面オブジェクトのシャドーを付けない画像とシャドーを付けた画像を比較されたい。
【0093】
最後に、シャドーだけでなく拡散性の相互反射(例えば図9の相互反射を付けた画像を参照)を取り込むために、相互反射した拡散伝達を
【0094】
【数24】
Figure 0004343564
【0095】
と定義することができ、
【0096】
【数25】
Figure 0004343564
【0097】
は方向sにおけるO自体からの放射輝度である。問題点は、
【0098】
【数26】
Figure 0004343564
【0099】
はpから任意の距離にある点の出射放射輝度によって決まり、またO上で局所的なライティングが変動するので、入射放射輝度が無限遠の光源から発されない限り、pだけで入射放射輝度を与えられても放射輝度
【0100】
【数27】
Figure 0004343564
【0101】
が分からないことである。O上でライティングの変動が小さい場合は、Oが至るところでLによって照らされているかのように
【0102】
【数28】
Figure 0004343564
【0103】
に非常に近似する。したがって、TDIはLに線形に依存し、先の2つの事例と同様に、2つの射影した関数、すなわち光に依存する関数とジオメトリに依存する関数の積に因数分解することができる。
【0104】
事前に計算される相互反射には、O上の入射ライティングが空間的に変化しないことを前提としなければならないが、より単純なシャドー付きの伝達にはこの前提は必要でない。この違いは、シャドー付きの伝達がpにおける入射ライティングだけに依存するのに対して、相互反射した伝達はL≠LであるO上の多くの点q≠pに依存する点である。したがって、入射放射輝度フィールドを十分に細かくサンプリングするのであれば(下記の「入射放射輝度フィールドの空間的サンプリング」のセクションで述べる)、局所的なライティングの変動を取り込むことができ、シャドーの付いた伝達が正確なものになる。
【0105】
【数29】
Figure 0004343564
【0106】
が存在すると、相互反射の伝達関数
【0107】
【数30】
Figure 0004343564
【0108】
を明示的に表すことが難しくなる。下記の「自己伝達の事前計算」のセクションでは、その射影係数を数的に計算する方法について述べる。
【0109】
2.2 光沢伝達
光沢のあるオブジェクトの自己伝達は同様に定義することができるが、核関数を一般化して(固定の)法線Nではなく反射方向Rに依存する(ビューに依存する)ようにする。先のH核と同様に、放射輝度の自己伝達は光沢性の反射を核G(s,R,r)とモデル化することができ、スカラーrは鏡面反応の「光沢度」あるいは広さを定義する。
【0110】
シャドーを付けない場合、シャドーを付ける場合、および相互反射する場合の類似する3つの光沢伝達関数を
【0111】
【数31】
Figure 0004343564
【0112】
と定義することができ、これらは、事前計算時にはどちらも未知の数量であるLとRの関数として方向Rのスカラー放射輝度を出力する。伝達はもはや単にsの関数ではないので、SH係数の単純なベクトルに置き換えることはできない。
【0113】
スカラー伝達をRおよびrでパラメータ化する代わりに、より有用な分解は、入射放射輝度L(s)を、L’(s)と表す伝達される放射輝度の球面全体に伝達するものである。光沢の核GがRを中心として円対称であるとすると、L’(s)にG’(z)=G(s,(0,0,1),r)を畳み込み、Rで評価して最終的な結果を得ることができる。
【0114】
今度はL’への伝達をベクトルではなく行列として表す。例えば、光沢のシャドー付きの伝達は
【0115】
【数32】
Figure 0004343564
【0116】
と定義することができ、これは、そのSH射影を式(7)を介して対称行列
【0117】
【数33】
Figure 0004343564
【0118】
として表すことのできるLに対する線形オペレータである。非常に滑らかなライティングの場合でも、Oの光沢度が増すのに従ってより多くのSH帯域を
【0119】
【数34】
Figure 0004343564
【0120】
に使用し、そのような条件下では、低周波数のライティングをより高い周波数の伝達放射輝度に写像する非正方行列(例えば25×9)が有用である。
【0121】
事前に計算する放射輝度の自己伝達の制限で重要なのは、TDIおよびTGIにおける相互反射に影響するOの材料特性(アルベドや光沢度など)が、前処理された伝達に「焼きこまれ(baked in)」、実行時に変えることができない点である。これに対して、相互反射のないより単純なシャドー付きの伝達では、O上での材料特性の実行時の変更および/または空間的変動が可能である。障害物または光源がOの凸包に入ると誤差が生じる。Oは剛体として移動することしかできず、ある構成要素を全体に相対的に変形または移動することはできない。また、正確な相互反射にはO上のライティングの変動が低いことが必要であるという前提を思い出されたい。
【0122】
最後に、上記で定義した拡散伝達は、すでにコサインの重みを付けた法線の半球を畳み込んであるので表面を離れた後の放射輝度を生成するのに対し、光沢伝達は表面に入射する放射輝度を生成し、局所的なBRDFを畳み込んで最終的な出射放射輝度を得ることに留意されたい。また、光沢のあるOには固定されたBRDFを焼きこんでおき、実行時のGの畳み込みを不要にし、しかし柔軟性を限定することも可能である。
【0123】
図9は、光沢表面オブジェクトのシャドーを付けない画像、シャドーを付けた画像、および相互反射させた画像を示す。
【0124】
3.自己伝達の事前計算
次いで図2を参照すると、イルミネーションシミュレータ120(図1)は、放射体(emitter)としての無限球(シミュレーションのための「基準ライティング環境」)にSH基底を使用してオブジェクトOに行うグローバルイルミネーションシミュレーション200で、モデリングされたオブジェクトの放射輝度の自己伝達を事前に計算する(「自己伝達の事前計算」とも称する)。このシミュレーションは、入射光Lの未知の球面のn次のSH射影によって、すなわちn個の未知の係数Lによってパラメータ化する。シミュレーション結果は、SH基底関数y(s)を放射体として用いてLごとに個別に計算することができるが、一度にすべてを計算するほうが効率的である。基準ライティング環境(無限遠の球面L)は、実行時にO周囲の実際の入射放射輝度Lに置き換える。
【0125】
シミュレーション200は、Lを発し直接サンプル点p∈Oに到達する経路からの直接のシャドーをシミュレートするパス(「シャドーパス」202)から開始する。続くパス(「相互反射パス」204)では相互反射が追加され、pに達する前に複数回Oからはね返ったLからの経路(Lp、LDp、LDDpなど)を表す。各パスで、p表面上のすべてのサンプル点にエネルギーが集められる。大きな放射体(すなわち低周波数のSH基底)では、エネルギーの集約がシューティング式の更新よりも効率的になる。
【0126】
サンプル点p∈Oにおける方向の球面を取り込むために、シミュレーションでは大きな(10k〜30k)の準ランダムな方向の集合
【0127】
【数35】
Figure 0004343564
【0128】
を生成する。シミュレーションでは、各方向sにおけるすべてのSH基底関数の評価も事前に計算する。方向sは、最初の20面体を1→2の二等分で精製して等面積の球面三角形にすることによって形成される階層ビンに編成する(球面上では1→4の細分で平面の場合のように等面積の三角形を得ることができない)シミュレーションでは6〜8の細分レベルを使用し、512〜2048個のビン(bins)を生成する。階層の各レベルにあるビンはいずれもsのリストを含む。
【0129】
最初のパスすなわちシャドーパス202で、シミュレーション200は、各p∈Oについて、オブジェクトによってセルフオクルージョンの生じる(self-occlude)点pからの方向にタグを付ける(211)。シミュレーションは、階層を使用して半球の外側にある方向を排除(cull)して、pの法線Nを中心とする半球中にシャドーレイを投影する。シミュレーションでは、オクルージョンビットを有する各方向sすなわち1−V(s)にタグを付け、sが半球内にあり、再度Oと交差する(すなわちO自身によってシャドーができる)かどうかを示す。オクルージョンビットは階層ビンとも関連付けられており、ビン内にオクルージョンの生じるsがあるかどうかを示す。セルフオクルージョンがある方向とビンは、それらに対してさらなる相互反射パスを行えるようにタグ付けし、全くオクルージョンがないビン/サンプルは環境からの直接光だけを受ける。
【0130】
次いで、212でシミュレーション200は点pの伝達放射輝度を積分する。拡散表面については、シミュレーションは、点p∈Oごとに式(10)のMのSH射影によりさらに伝達ベクトルを計算する。光沢表面には、シミュレーションは式(11)のMのSH射影によって伝達行列を計算する。いずれの場合も、結果は、pで集められLでパラメータ化された放射輝度を表す。伝達を計算するためのSH射影を方向サンプルsに対する数値積分により行い、この合計は次の規則を使用して蓄積された伝達となる。
【0131】
【表1】
Figure 0004343564
【0132】
上付文字0は反復回数を表す。各点pのベクトルMまたは行列Mはシャドーパスの前に0に初期化し、シャドーパスではすべてのpにおいてすべてのsを合計する。この規則は、拡散伝達積分の式(1)と光沢伝達積分の式(7)を使用して得られる。
【0133】
図7も参照すると、後の相互反射パス204ではシャドーパスでオクルージョンビットがセットされたビンをトラバースして、今度は221で相互反射伝達を積分する。シャドーレイの代わりに、シミュレーションでは出射照明からの伝達を戻す光線をOに当てる。光線(p、s)が別の点q∈Oと交差する(qはpに最も近い)場合は、qから方向−sに出射する放射輝度をサンプリングする。次の更新規則を使用し、この中で下付文字bははね返りパスの反復回数である。
【0134】
【表2】
Figure 0004343564
【0135】
シャドーパス202と同様に、相互反射パス204は、方向sにわたって伝達を累積する前に伝達ベクトルまたは行列を0に初期化することによって開始する。拡散の規則は、TDIの定義と式(1)から得られ、光沢の規則はTGIの規則と式(6)および(7)から得られる。光沢伝達の定義中の真中の因数は、1つ前のはね返りパスb−1のqから発しpに戻る放射輝度を表す。Mは入射する放射輝度を格納するので、それにqにおけるOのBRDFを畳み込んで
【0136】
【数36】
Figure 0004343564
【0137】
の方向への出射放射輝度を得、kにわたる総和を得なければならない。aは、1つずつインデックス付けされた表記法で表されるk番目の畳み込み係数であることを思い出されたい。「reflect」オペレータは、単に、その最初のベクトル引数をその2番目のベクトル引数について反映させる。式(7)は、(Mは2つの球面関数の積によって形成されるのでシャドーを付けた光沢のある伝達の対称行列となることを意味することに注意されたい。これは、相互反射した光沢のある伝達には当てはまらない。
【0138】
230に示すように、相互反射パス204は、所与のパスの合計エネルギーが重要な閾値を下回るなどの終了条件が満たされるまで反復される。標準的なマテリアルでは相互反射はかなり急速に減少する。すべてのはね返りパスからの伝達の合計が相互反射に相当する。
【0139】
あるいは、このシミュレーションに単純な強化を加えることによりO内の鏡様の表面が可能になる。このシミュレーションでは、そのような表面における伝達は記録しない。代わりに、鏡状の表面に当たる光線は常に反射され、鏡状でない表面に達するまで伝播する。したがって、連続した反復における経路は(L[S]*p、L[S]*D[S]*p、L[S]*D[S]*D[S]*pなど)と表すことができ、Dは拡散性または光沢性のはね返りであり、Sは鏡面のはね返りである。これにより、ライティングの変化に動的に反応する拡散性または光沢の対象物へのコースティック(caustic)が取り込まれる。
【0140】
4.放射輝度伝達の実行時レンダリング
上述のシミュレーション200(図2)は、ベクトルまたは行列として表されるオブジェクト表面上の多数の点pにおける放射輝度の伝達を取り込んだモデルを提供する。次いで図3を参照すると、リアルタイム画像レンダリングエンジン140(図1)は実行時手順300でこのモデルを使用して、オブジェクトのリアルタイムの画像レンダリング時に、選択されたライティング環境とビュー方向でオブジェクトの自己伝達放射輝度を計算する。図4および図5はそれぞれ、拡散表面と光沢表面についての実行時手順300による処理の流れを表す。
【0141】
手順300で、レンダリングエンジン140は次の動作を実行時に行う。310で、Oに近い1つまたは複数のサンプル点Pにおける入射ライティング{Lpi}をSH基底について計算する。320でそのLPiをOの座標枠に合わせて回転し、それらをブレンドして(下記参照)O上の入射ライティングLのフィールドを得る。330〜390で、O上の各点pで(Lに線形変換を行って出射放射輝度を得る。この線形変換は、アクション350の拡散表面(式(8))の(Mp)iとのドット積か、またはアクション360の光沢表面(式(9))の(Mijとの行列ベクトル乗算である。光沢表面にはさらにアクション370および380があり、ここで乗算360によって得られる放射輝度ベクトルにpにおけるOのBRDFを畳み込み、ビューに依存する反射方向Rで評価する。
【0142】
アクション310のために、レンダリングエンジン140は、選択されたライティング環境の入射ライティングの表現として、事前に計算した環境マップをロードする、ソフトウェアで分析的ライティングモデルを評価する、あるいはグラフィックハードウェアを用いて放射輝度をサンプリングすることができる。アクション320の回転についてはセクション1の「球面調和関数の概略」で概説しており、これは点pごとではなく1つのオブジェクトにつき1回行われる。この回転を行うのは、伝達がOについての共通の座標系を使用して記憶されるためである。Oが剛体として動いている場合は、Oの多数の伝達関数を回転するよりも、Oと整合するようにLpi中の数個の放射輝度サンプルを回転する方が効率的である。
【0143】
拡散表面の場合、アクション350の単純な実装は、頂点ごとに伝達ベクトルを格納し、頂点シェーダでドット積を行うものである。伝達ベクトルは頂点ごとに格納するのではなくテクスチャマップに格納し、ピクセルシェーダを使用して評価することもできる。これらの係数は常に[−1,1]の範囲にあるとは限らない符号付きの数量なので、[−8、8]というより広い範囲を提供するDirectX8.1ピクセルシェーダ(V1.4)またはそれらに相当するOpenGL(拡張はATIによる)を使用することができる。一実装では、ピクセルシェーダはドット積を実行するのに8命令しか必要とせず、Lの射影係数を定数レジスタに格納する。
【0144】
色を付けた環境またはOでのカラーブリーディングのシミュレーションには3回のパスを行い、各パスでr、g、およびbチャネルに個別のドット積を行う。それ以外の場合は1回のパスで十分である。
【0145】
光沢の自己伝達の場合は、伝達行列が現在の頂点シェーダまたはピクセルシェーダのどちらで操作するにも大きすぎる可能性があるので、式(9)の行列変換をソフトウェアで行うことができる。この結果は(L’、すなわちO上の点pにおける伝達放射輝度のSH係数になる。そしてピクセルシェーダで、G*の単純な余弦べき乗(Phongローブ)の核を用いて畳み込み370を行い、結果を反射方向Rで評価することができる。この結果は
【0146】
【数37】
Figure 0004343564
【0147】
と書くことができる。現在のグラフィックハードウェアでは5次までのSH射影を評価することができる。
【0148】
4.1 入射放射輝度フィールドの空間サンプリング
入射放射輝度を動的にサンプリングするための単純かつ有用なアプローチは、Oの中心点で入射放射輝度をサンプリングするものである。O上の局所的なライティングの変動に対処するために、より精密な技術では複数の点で入射ライティングをサンプリングする。望ましい数の点を入力として与えられた場合に、ICP(反復最近傍点)アルゴリズムを使用して適切なサンプル点のセットを前処理として得ることができる(例えば、非特許文献16参照)。これにより、入射ライティングを実行時にサンプリングできるOに近くO上に均一に分散した点Pの代表的なセットが生成される。レンダリングエンジン140は、結果得られるサンプリングされた放射輝度の各球面Lpiからの寄与をブレンドするO上の各点pにおける係数を事前に計算して、上でLと表したO上の入射放射輝度フィールドを得ることもできる。
【0149】
図11は、単一の点、ICP点、および複数のサンプルにおける入射放射輝度のサンプリングと、図3の実行時手順300を使用したレンダリングから得られる画像を表す。
【0150】
4.2 グラフィックハードウェアによるSH放射輝度のサンプリング
グラフィックハードウェアは、動的なシーンで放射輝度サンプル{LPi}を取り込むのに有用である。これを行うには、キューブマップの球面パラメータ化の6面に対応する各Pから6つの画像をレンダリングする。O自体はそのレンダリングから除去しなければならない。次いで式(1)の積分を使用してキューブマップ画像を各自のSH係数に射影する。
【0151】
効率面から、それぞれsのキューブマップのパラメータ化に対して評価した差分立体角で重みを付けた基底関数についてテクスチャを事前に計算しておく
【0152】
【数38】
Figure 0004343564
【0153】
。すると、この結果得られる積分は、取り込まれたL(s)のサンプルとテクスチャ
【0154】
【数39】
Figure 0004343564
【0155】
の単純なドット積になる。
【0156】
この計算はグラフィックハードウェアで行うのが理想的である。あるいは、精度の問題と、ハードウェアでは内積を行うことができないことから、サンプリングした放射輝度画像を読み戻し、ソフトウェアで射影してもよい。この場合は読み戻す画像の解像度を可能な限り下げると有用である。
【0157】
低次のSH射影は、適切に帯域制限されていることを前提として非常に低解像度のキューブマップを用いて計算することができる。例えば、すでに6次に帯域制限された球面信号は64×4の画像を使用して射影することができ、べき乗単位信号(すなわち球面上での積分平方が1である信号)を想定することによって誤差を正規化した場合、平均ケースの二乗誤差が約0.3%、最悪ケースの二乗誤差が約1%である。(より正確には、平均ケースの誤差は、すべてのべき乗単位信号(unit-power signal)にわたって平均した基準信号と再構築信号との積分した二乗差である。最悪ケースの誤差はそれと同じ積分誤差であるが、最悪ケースのべき乗単位信号についての誤差である)6×8×8のマップでは、この誤差は平均で0.003%、最悪ケースで0.02%に低下する。不都合なのは、典型的な信号は球形に帯域制限されないことである。別の分析によると、サンプリングした2D画像に対する連続的な双一次の再構築を想定すると、6×8×8の画像を使用した6次への射影では平均ケースの二乗誤差が0.7%、最悪ケースの誤差が2%であり、6×16×16の画像ではそれぞれ0.2%と0.5%の誤差となる。
【0158】
例示的な実装ではハードウェアから6×16×16の画像を抽出する。点でサンプリングを行うレンダリングで常にそうであるように、上述の分析では点サンプルからの双一次の再構築を基準として使用するので、2D画像のエリアシングがなお問題となる。エリアシングを軽減するために、キューブマップ画像を各次元でスーパーサンプリング(例えば2倍)し、読み出しと射影の前にボックスフィルタリングしたデシメーションをハードウェアで行うことができる。同様に、前処理として基底関数テクスチャもスーパーサンプリングし、デシメーションすることができる。読み戻しとSH射影を含む放射輝度サンプルの場合、この例示的な実装はATI Radeon8500搭載のPIII−933PCで約1.16msを要する。
【0159】
4.3 ボリュームモデルの自己伝達
ボリュームの自己伝達データには表面の場合と同じフレームワークを使用する。これにより得られる事前計算モデルはライティングの実行時の変更を可能にし、任意の低周波数ライティング環境で正確なシャドーイングと相互反射が得られる。図12は、雲のモデルがどのようにそれ自体にシャドーを作り、光を散乱するかを捉えるために実行時手順300のボリューム自己伝達向けの変形(以下に説明する)でボリュームでの自己伝達を使用した雲モデルの画像を表す。
【0160】
表面の伝達と同様に、前処理ステップでSH基底関数を放射体として使用してボリュームへのライティングをシミュレートする。相互反射のないシャドー付きの伝達(すなわち直接シャドーイング)の場合、シミュレータは、ボリュームを貫通するその経路によって減衰される、放射体からボリュームのすべてのボクセルpへのエネルギーを集める。方向sに必要な数値積分は
【0161】
【数40】
Figure 0004343564
【0162】
と表すことができ、Λ(p→q)は、pからqへの経路に沿ったボリュームの積分した減衰であり、Dは光線(p,s)がボリュームを出るまでの距離である。相互反射を含めるために、シミュレーションはあらゆるボクセルpをトラバースし、無作為の方向sに沿ってその伝達を前方に散乱する。伝達は、規則
【0163】
【数41】
Figure 0004343564
【0164】
を使用して、ボリュームを出るまでsに沿ったすべてのボクセルqに置かれる。ボリュームにより多くのパスを行うと、さらに多くの間接的なはね返りが生成される。
【0165】
レンダリングは従来の方式で、すなわち透明度を考慮するアルファブレンディングを使用して3Dボリュームを貫通するスライスを後ろから前への順序で描画することによって行う。各スライスは、伝達ベクトルのサンプルを含む2D画像である。ピクセルシェーダは、ライティングの係数と、各スライスに陰影を付けるのに必要な伝達ベクトルとのドット積を計算する。
【0166】
5.放射輝度の近傍伝達
近傍伝達では、パラメータ化された低周波数ライティングについて、オブジェクトOがそれに近接する環境に与える影響を事前に計算する。図13は、シミュレーション200(図2)の近傍伝達向けの変形(以下で説明する)と実行時レンダリング手順300(図3)を用いて捉えた、ハンググライダーが近接する凹凸のある地形にぼんやりしたシャドーを投じている画像を示す。伝播のシミュレーションはセクション3「自己伝達の事前計算」の自己伝達のシミュレーションと同じであるが、Oの上ではなくOを取り巻く3D空間内の点に行われる。実行時にこのボリューム中に任意の対象物Rを配置して、事前にRを知らなくともOによってRの上に投じられるシャドー、反射、およびコースティックを捉えることができる。例えば、移動する乗り物Oが地面Rにシャドーを投じることができる。投じられたシャドーとライティングはライティングの変化にも反応する。例えば、ライトを動かすとR上のぼんやりしたシャドーが移動する。これは、光沢のある伝達を考慮し、動的なライティングを可能にすることにより放射照度ボリュームを一般化する(例えば、非特許文献17参照)。
【0167】
Rは事前計算のステップでは未知なので、Oの近傍ボリュームは、ベクトルではなく伝達行列を格納する。Rの法線が事前に分からないので、これは拡散対象物にも当てはまる。
【0168】
一実装では、シミュレータは、Oの周囲の単純な3Dグリッド内の各点における伝達行列Mを事前に計算しておく。実行時にレンダリングエンジンはボリューム中の各点で式(9)の行列変換をソフトウェアで実行し、結果をグラフィックハードウェアにアップロードする。この結果は、伝達された放射輝度(L’)の係数を含むボリュームテクスチャであり、これをRに適用する。
【0169】
次いで、ピクセルシェーダで、この伝達された放射輝度を使用して対象物にライトを当てる。拡散対象物は、式(6)を使用して放射輝度に余弦の重みを付けた半球H*を畳み込み、そして得たSH射影をRの法線ベクトルで評価する。光沢のある対象物は式(12)を行う。
【0170】
自己伝達が予め計算された対象物には、OとRが共通の座標系を共有しないという問題が生じる。このため、2つのオブジェクトのうち1つの伝達サンプルの稠密な集合を動的に回転してもう一方と整合させなければならない。その複雑さはO(n)であり、式(9)の行列変換を行う複雑さと同じであるが、より高次の射影の回転はその演算に比べてかなり負荷が高い。ハードウェアの改良によりこの問題はほどなく軽減されよう。
【0171】
自己伝達と比べると、近傍伝達ではいくつかの追加的な近似誤差が生じる。複数の近傍伝達オブジェクトから同一の対象物に投じられるシャドーまたは光は組み合わせるのが難しい。OまたはRの存在に起因しない局所的なライティングの変動も問題となる。すなわち、正確な結果を提供するには、Oの近傍全体にわたってライティングがかなり一定でなければならない。詳細には、OおよびR以外のオブジェクトがOの近傍に入りこむと、あるべきシャドーが欠けるなどのエラーが生じる。また、Oの近傍は、OがRに投じ得るシャドーまたは光をいずれも包含するのに十分な大きさでなければならない。それでも、近傍伝達は、従来の方法ではリアルタイムで得ることができない効果を取り込む。
【0172】
6.コンピューティング環境
図6は、例示的な実施形態を実装することが可能な適切なコンピューティング環境600の概略的な一例である。本発明は様々な汎用または特殊目的のコンピューティング環境で実装できることから、コンピューティング環境600は本発明の使用または機能性の範囲に関して何らの制限を示唆するものではない。
【0173】
図6を参照すると、コンピューティング環境600は、少なくとも1つの処理装置610およびメモリ620を含む。図6では、この最も基本的な構成630を点線内に含めている。処理装置610は、コンピュータ実行可能命令を実行し、実際のプロセッサであっても仮想プロセッサであってもよい。多重処理システムでは複数の処理装置でコンピュータ実効命令を実行して処理力を増大する。メモリ620は、揮発性メモリ(例えばレジスタ、キャッシュ、RAM)、不揮発性メモリ(例えばROM、EEPROM、フラッシュメモリなど)、あるいはこれら2種の何らかの組合せであってよい。メモリ620は、放射輝度の自己伝達を用いるグラフィック画像レンダリングを実装するソフトウェア680を格納する。
【0174】
コンピューティング環境は、この他の機能を備えることが可能である。例えば、コンピューティング環境600は、ストレージ640、1つまたは複数の入力装置650、1つまたは複数の出力装置660、および1つまたは複数の通信接続670を含む。バス、コントローラ、あるいはネットワークなどの相互接続機構(図示せず)は、コンピューティング環境600の構成要素を相互に接続する。通例、オペレーティングシステムソフトウェア(図示せず)は、コンピューティング環境600で実行される他のソフトウェアのための動作環境を提供し、コンピューティング環境600の構成要素のアクティビティを調整する。先に述べたように、コンピューティング環境は、DirectXおよびOpenGLの関数ライブラリ、ATI RadeonやNVidia GeForceビデオカードなどのグラフィック処理ハードウェアおよびソフトウェアを含むことが望ましい。
【0175】
ストレージ640は取り外し可能でも取り外し不能でもよく、磁気ディスク、磁気テープまたはカセット、CD−ROM、CD−RW、DVD、あるいは情報の記憶に使用することができ、コンピューティング環境600内でアクセスが可能な任意の他の媒体を含む。ストレージ640は、画像レンダリングシステム(図1)を実装するソフトウェア680の命令を記憶する。
【0176】
入力装置650は、キーボード、マウス、ペン、トラックボールなどのタッチ入力装置、音声入力装置、スキャニング装置、あるいはコンピューティング環境600に入力を提供する他の装置でよい。オーディオには、入力装置650はサウンドカード、あるいはアナログまたはデジタル形態のオーディオ入力を受け付ける同様の装置でよい。出力装置660は、ディスプレイ、プリンタ、スピーカ、あるいはコンピューティング環境600からの出力を提供する他の装置でよい。
【0177】
通信接続670は、通信媒体を通じた別のコンピューティングエンティティとの通信を可能にする。通信媒体は、コンピュータ実行命令、圧縮されたオーディオまたはビデオ情報、あるいはその他のデータなどの情報を変調データ信号で伝搬する。変調データ信号とは、その信号中に情報を符号化するような形でその特性の1つまたは複数を設定または変更した信号である。例として、これらに限定しないが、通信媒体には、電気、光学、RF、赤外線、音響、あるいは他の搬送波を用いて実装される配線式または無線式の技術が含まれる。
【0178】
本発明は、コンピュータ可読媒体の一般的な文脈で説明することができる。コンピュータ可読媒体は、コンピューティング環境内でアクセスできる任意の利用可能な媒体である。例として、これらに限定しないが、コンピューティング環境600ではコンピュータ可読媒体はメモリ620、ストレージ640、通信媒体、および上述の媒体の任意の組合せを含む。
【0179】
本発明は、プログラムモジュールに含まれ、コンピューティング環境で実際あるいは仮想のターゲットプロセッサで実行されるコンピュータ実行可能命令の一般的な文脈で説明することができる。一般に、プログラムモジュールには、特定タスクを行う、あるいは特定の抽象データタイプを実装するルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造などが含まれる。プログラムモジュールの機能は、各種の実施形態で必要に応じてプログラムモジュール間で組み合わせるか、または分割することができる。プログラムモジュールのコンピュータ実行可能命令は、ローカルな、または分散したコンピューティング環境で実行することができる。
【0180】
提示のために、この詳細な説明ではコンピューティング環境内のコンピュータ動作を説明するために「判定する(determine)」、「入手する(get)」、「調整する(adjust)」、および「適用する(apply)」といった語を使用している。これらの語は、コンピュータによって行われる動作の高レベルの抽象であり、人間によって行われる行為と混同すべきではない。これらの語に対応する実際のコンピュータ動作は実装によって異なる。
【0181】
例示的実施形態を参照して本発明の原理を説明し、例示したが、この例示的実施形態は上記のような原理から逸脱することなく構成と詳細を変更できることを認識されよう。特に指摘しない限りは、本明細書に記載するプログラム、プロセス、あるいは方法は任意の特定タイプのコンピューティング環境に関連しない、あるいは制限されないことを理解されたい。各種タイプの汎用または特殊化コンピューティング環境は、本明細書に記載する教示による動作とともに使用することができ、あるいはその動作を行うことができる。ソフトウェアとして示した例示的実施形態の要素はハードウェアに実装してもよく、その逆も同様である。
【0182】
本発明の原理を応用することが可能な多くの可能な実施形態に照らし、頭記の特許請求の範囲およびその均等物の範囲および精神に含まれ得る実施形態はすべて本発明として請求する。
【図面の簡単な説明】
【図1】動的な低周波数のライティング環境におけるリアルタイム画像レンダリングのための事前計算された放射輝度自己伝達を取り入れるコンピュータグラフィックソフトウェアアーキテクチャのブロック図である。
【図2】図1の画像レンダリングシステムにおける自己伝達の事前計算の流れ図である。
【図3】図1の画像レンダリングシステムにおける放射輝度伝達のリアルタイムレンダリングの流れ図である。
【図4】図3のリアルタイムレンダリングにおける実行時の拡散表面自己伝達を処理する流れ図である。
【図5】図3のリアルタイムレンダリングにおける実行時の光沢表面自己伝達を処理する流れ図である。
【図6】図1の画像レンダリングシステムに適したコンピューティング環境のブロック図である。
【図7】図2の自己伝達の事前計算でシミュレートした相互反射を表す図である。
【図8】ともにシャドーを付けず、図3のリアルタイムレンダリングを介して生成された画像の図である。
【図9】ともにシャドーを付けず、図3のリアルタイムレンダリングを介して生成された、拡散表面の自己伝達の効果を示す画像の図である。
【図10】ともにシャドーを付けず、図3のリアルタイムレンダリングを介して生成された、光沢表面の自己伝達の効果を示す画像の図である。
【図11】それぞれ単一の点、反復最近傍点アルゴリズム(ICP)の点、および複数のサンプルで入射放射輝度をサンプリングした、図3のリアルタイムレンダリングを介して生成された画像の図である。
【図12】図3のリアルタイムレンダリングを介して生成されたボリュームの自己伝達の画像の図である。
【図13】図3のリアルタイムレンダリングを介して生成された近傍伝達の画像の図である。
【符号の説明】
100 コンピュータグラフィック画像レンダリングシステム
110 幾何学的オブジェクトモデル
130 放射輝度自己伝達データ
120 グローバルイルミネーションシミュレータ
140 リアルタイム画像レンダリングエンジン
150 ライティング環境
160 ビュー方向
170 ユーザコントロール
180 グラフィックディスプレイドライバ
600 コンピューティング環境
610 処理装置
620 メモリ
640 ストレージ
650 入力装置
660 出力装置
670 通信接続
680 ソフトウェア[0001]
BACKGROUND OF THE INVENTION
The present invention relates to computer graphic image rendering techniques, and more particularly to lighting and shadowing of modeled objects in a rendered image.
[0002]
[Prior art]
A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to any reproduction of this patent disclosure contained in the US Patent and Trademark Office patent file or record by any party, but otherwise retains all copyrights.
[0003]
Lighting from surface light sources, soft shadows, and interreflection are important effects for realistic image composition. Unfortunately, general methods for integrating over large lighting environments, including Monte Carlo ray tracing, radiosity, or multi-pass rendering summing over multiple point sources, are impractical for real-time rendering. (There are representative literatures on Monte Carlo ray tracing (see, for example, Non-Patent Document 1, Non-Patent Document 2, and Non-Patent Document 3). (For example, refer to Non-Patent Document 5, Non-Patent Document 6, and Non-Patent Document 7).
[0004]
[Non-Patent Document 1]
Cook, R. Porter, T and Carpenter, L, Distributed Ray Tracing, SIGGRAPH'84, 137-146
[0005]
[Non-Patent Document 2]
Jensen, H, Global Illumination using Photon Maps, Eurographics Workshop on Rendering 1996, 21-30
[0006]
[Non-Patent Document 3]
Kajiya, J, The Rendering Equation, SIGGRAPH '86, 143-150
[0007]
[Non-Patent Document 4]
Cohen, M and Wallace, J, Radiosity and Realistic Image Synthesis, Academic Press Professional, Cambridge, 1993
[0008]
[Non-Patent Document 5]
Haeberli, P and Akeley, K, The Accumulation Buffer: Hardware Support for High-Quality Rendering, SIGGRAPH'90, 309-318
[0009]
[Non-Patent Document 6]
Keller, A, Instant Radiosity, SIGGRAPH '97, 49-56
[0010]
[Non-Patent Document 7]
Segal, M, Korobkin, C, van Widenfelt, R, Foran, J and Haeberli, P, Fast Shadows and Lighting Effects Using Texture Mapping, SIGGRAPH'92, 249-252
[0011]
[Non-Patent Document 8]
Cabral, B, Olano, M and Nemec, P, Reflection Space Image Based Rendering, SIGGRAPH'99, 165-170
[0012]
[Non-patent document 9]
Greene, N, Environment Mapping and Other applications of World Projections, IEEE CG & A, 6 (11): 21-29, 1986
[0013]
[Non-Patent Document 10]
Heidrich, W, Seidel H, Realistic, Hardware-Accelerated Shading and Lighting, SIGGRAPH'99, 171-178
[0014]
[Non-Patent Document 11]
Kautz, J, Vazquez, P, Heidrich, W and Seidel, H, A Unified Approach to Pre-filtered Environment Maps, Eurographics Workshop on Rendering 2000, 185-196
[0015]
[Non-Patent Document 12]
Ramamoorthi, R and Hanrahan, P, An Efficient Representation for Irradiance Environment Maps, SIGGRAPH'01, 497-500
[0016]
[Non-Patent Document 13]
Edmonds, A, Angular Momentum in Quantum Mechanics, Princeton University, Princeton, 1960
[0017]
[Non-Patent Document 14]
Zare, R, Angular Momentum: Understanding Spatial Aspects in Chemistry and Physics, Wiley, New York, 1987
[0018]
[Non-Patent Document 15]
Chirikjian, G and Stein, D, Kinematic Design and Communication of a Spherical Stepper Motor, IEEE Transactions on Mechatronics, 4 (4), Dec. 1999
[0019]
[Non-Patent Document 16]
Linde, Y, Buzo and Gray, R, An algorithm for Vector Quantizer Design, IEEE Transaction on Communication COM-28, 1980, 84-95
[0020]
[Non-Patent Document 17]
Greger, G., Shirley, P, Hubbard, P, and Greenberg, D, The Irrandiance Volume, IEEE Computer Graphics and Applications, 6 (11): 21-29, 1986
[0021]
[Problems to be solved by the invention]
There are three difficulties associated with real-time, realistic global illumination. That is, the complex and spatially varying bidirectional reflection distribution function (BRDF) of real material must be modeled (BRDF complexity), and the integration over the hemisphere in the lighting direction at each point (light integration) Necessary and the bouncing / occlusion effects such as shadows due to inclusions in the light path from the light source to the receiver must be taken into account (light propagation complexity). Many studies have focused on solving the problem of light integration by expanding the complexity of BRDF (eg glossy anisotropic reflection) and representing incident lighting as a sum of directions or points. It was. Thus, the integration of light results in just the same sampling of analytical or tabular BRDFs at a few points, but is cumbersome for large light sources. In the second line of research, radiance is sampled and kernels of various sizes are convoluted in advance. (For example, refer to the following (for example, see Non-Patent Document 8, Non-Patent Document 9, Non-Patent Document 10, Non-Patent Document 11, Non-Patent Document 12)) This method solves the problem of light integration, Since convolution is premised on the incident reflection brightness not being shielded and scattered, the complexity of light propagation such as shadow is ignored. And there are clever ways to increase the propagation of light, especially the shadow complexity. The problem is light integration, and most of the methods described above are not suitable for very large light sources.
[0022]
[Means for Solving the Problems]
The real-time image rendering techniques described herein better consider the complexity of light integration and light propagation in real time. This technique is intended for low-frequency lighting environments (area-supported basis functions) and does not cause aliasing using low-order spherical harmonic (SH) bases. Efficient environment. One aspect of this technique is to represent how an object scatters its light into the object itself or adjacent space in a way that separates the scatter from incident lighting. For example, in FIG. 8, the modeled image of the human head without shadow is compared with the image generated in the manner described herein using radiance self-transmission.
[0023]
To briefly describe the technique described here, first assume that there is a convex diffuse object illuminated by an infinitely distant environment map. The object's shaded “response” to its environment can be thought of as a transfer function that maps the incoming radiance to the outgoing radiance, which in some cases simply performs a cosine weighted integration. More complex integrations capture how concave objects create shadows themselves, in this case multiplying the integrand by an additional propagation factor that represents visibility in each direction.
[0024]
The technical approach described here pre-calculates a high load propagation simulation required by a complex transfer function such as shadowing for a given object. The resulting transfer function is represented as a dense set of vectors or matrices on the object surface. On the other hand, it is not necessary to calculate the incident radiance in advance. During subsequent real-time rendering, the graphics hardware can dynamically sample the incident radiance at a limited number of points, and this technique converts it to a spherical harmonic (SH) basis with a fast computation. . Analytical models such as skylight models and simple geometric shapes such as circles can also be used.
[0025]
By representing both the incident radiance and the transfer function in the SH basis, the technique described here allows the integration of light through a simple dot product (diffuse object) between each coefficient vector, or through a small transfer matrix. Let it be a simple linear transformation (glossy object) of the lighting coefficient vector. Very few coefficients (9-25) are required in a low frequency lighting environment, and the graphics hardware can calculate the result in a single pass. Unlike the Monte Carlo method or the multi-pass optical integration method, the run-time calculation with this technique can be kept constant no matter how many or even the light sources. Retaining a certain amount of runtime calculations relies on large, smooth lighting to limit the number of SH coefficients required.
[0026]
The technique described here represents complex propagation effects in the transfer function, such as interreflection and caustic. Since all of these are simulated as preprocessing, only the basis coefficient of the transfer function changes, and the calculation at run time does not change. The technical approach described here deals with both surface and volume based geometry. With higher SH coefficients, this technique can handle glossy (but not highly specular) objects including not only diffusion but also interreflection. For example, 25 SH coefficients are sufficient to obtain a useful glossy effect. In addition to the transmission from the rigid object, called self-transmission, to itself, this technique is generalized to proximity transmission from the rigid object to the space adjacent to it, thrown soft shadows, glossy reflections, And allows caustic on moving objects.
[0027]
DETAILED DESCRIPTION OF THE INVENTION
Referring to FIG. 1, the software architecture of the computer graphic image rendering system 100 is modeled with interreflection and self-shadowing using the radiance self-transmitting image rendering technique described herein. Provides real-time image rendering of objects. In general, the software architecture includes a global illumination simulator 120, a real-time image rendering engine 140, and a graphic display driver 180. In the radiance self-propagating rendering technique described more fully below, the global illumination simulator 120 performs a pre-processing stage of the technique where the radiance self-propagating data 130 is pre-calculated from the geometric object model 110. deep. The geometric object model 110 may be a triangular mesh, wavelet synthesis, or any other representation of the geometry of the object being modeled. The real-time image rendering engine 140 then renders an image of the object modeled for the dynamically varying lighting environment 150 and view direction 160 using pre-calculated radiance self-propagating data, and the lighting environment 150 and view direction 160. Can be selectively changed or set by user control 170. The graphic display driver 180 outputs an image to an image output device (for example, a monitor, a projector, or a printer).
[0028]
In some embodiments of the graphic image rendering system, the pre-calculation of radiance self-transmission by the simulator 120 and the image rendering by the engine 140 are implemented on a single computer as described in Section 6 “Computing Environment” below. can do. More generally, the simulator 120 can be run on another computer and the resulting data can be transferred to a computer that runs the rendering engine 140 to generate a graphic image.
[0029]
Summary of Radiance Self-Transmission Technique: As a pre-processing, the global illumination simulator 120 performs a lighting simulation on the model 110 to capture how the modeled object shadows itself and scatters light. This result is recorded in the radiance self-transmitted data 130 as a dense set of vectors (in the case of diffusion) or matrices (in the case of gloss) on the model. During image rendering, the rendering engine 140 projects the incident radiance corresponding to the lighting environment 150 onto a spherical harmonic (SH) basis (this is described below). The model transfer vector or matrix field is then applied to the lighting coefficient vector. When the object is diffusive, the dot product of the transfer vector and the lighting coefficient at a plurality of points on the object is obtained, and the self-scattered shading is accurately generated. If the object is glossy, a transfer matrix is applied to the lighting coefficients to obtain a spherical function coefficient representing the self-scattered incident radiance at those points. This function is convolved with the object's bi-directional reflection distribution function (BRDF) and then evaluated in a view-dependent reflection direction to produce the final shading of the object in the rendered image.
[0030]
1. Overview of spherical harmonics
Definition: A spherical harmonic function defines an orthonormal group for a sphere S, similar to a Fourier transform for a one-dimensional circle. Parameterization
s = (x, y, z) = (sin θ cos φ, sin θ sin φ, cos θ)
Then the basis function is
[0031]
[Expression 1]
Figure 0004343564
[0032]
Defined as Pl mIs the associated Legendre polynomial, Kl mIs a normalization constant.
[0033]
[Expression 2]
Figure 0004343564
[0034]
The above definition forms a complex basis, and a real-valued basis is a simple transformation
[0035]
[Equation 3]
Figure 0004343564
[0036]
Given by.
[0037]
A low value of l (called the band index) represents a low frequency basis function on the sphere. The basis function of band l is a polynomial of degree l in x, y, and z. The evaluation can be performed with a simple recurrence formula (see, for example, Non-Patent Document 13 and Non-Patent Document 14).
[0038]
Projection and reconstruction: SH base is orthonormal, so integration (area-supported basis function)
[0039]
[Expression 4]
Figure 0004343564
[0040]
The scalar function f defined on S can be projected onto its coefficients via
[0041]
Their coefficients are nth order reconstruction functions
[0042]
[Equation 5]
Figure 0004343564
[0043]
Which increases the degree of approximation to f as the number of bands n increases. Low frequency signals can be accurately represented in only a few SH bands. Higher frequency signals are band limited (ie, smooth without aliasing) by lower order projections.
[0044]
n for n-th projection2Number of coefficients is required. Often, for a vector of projection coefficients and basis functions indexed one by one,
[0045]
[Formula 6]
Figure 0004343564
[0046]
It is convenient to rewrite equation (2) via, where i = 1 (l + 1) + m + 1. With this formulation, the evaluation of the reconstruction function at s is n2Component coefficient vector fiAnd the evaluated basis function ylIt becomes clear to represent a simple dot product with the vector of (s).
[0047]
Basic property: One of the properties of SH projection is its rotational invariance. That is, when Q is an arbitrary rotation on S and g (s) = f (Q (s)),
[0048]
[Expression 7]
Figure 0004343564
[0049]
It becomes.
[0050]
This is similar to the transition invariant nature of the one-dimensional Fourier transform. In fact, this property collects samples from f into a rotated sample point set, projects them, and again
[0051]
[Equation 8]
Figure 0004343564
[0052]
This means that no aliasing artifacts are produced by SH projection when rotating.
[0053]
Because the SH basis is orthonormal, given any two functions a and b for S, their projections are
[0054]
[Equation 9]
Figure 0004343564
[0055]
The useful property of satisfying is obtained. That is, the integral of the product of the band-limited functions becomes the dot product of the projection coefficients of those functions.
[0056]
Convolution: The convolution of the function f into the circularly symmetric kernel function h (z) is h*expressed as f. According to equation (3) above, h must be circularly symmetric (and thus can be defined as a simple function of z rather than s, so that the result is defined in S rather than the higher dimensional rotation group SO) Note that) The projection of this convolution is
[0057]
[Expression 10]
Figure 0004343564
[0058]
Meet. In other words, the projected convolution coefficients are simply scaled products of individually projected functions. This property provides a high-speed method for obtaining an irradiance map by convolving a hemispherical cosine nucleus defined as h (z) = max (z, 0) into an environment map (see, for example, Non-Patent Document 12). ). In this case, the projection coefficient of h can be obtained using an analytical expression. The convolution property can also be used to obtain a pre-filtered environment map with narrower nuclei. Note that since h is circularly symmetric about z, its projection coefficient is non-zero only when m = 0.
[0059]
Projection of product: The projection of the product of a pair of spherical functions c (s) = a (s) b (s) when a is known and b is unknown is a matrix
[0060]
## EQU11 ##
Figure 0004343564
[0061]
[Expression 12]
Figure 0004343564
[0062]
Projection coefficient b viajAnd the sum is shown in the replicated j-index.
[0063]
[Formula 13]
Figure 0004343564
[0064]
Note that is a symmetric matrix.
[0065]
Rotation: Q,
[0066]
[Expression 14]
Figure 0004343564
[0067]
The reconstructed function rotated by is the projection coefficient f of fiCan be projected using a linear transformation of Due to the rotation invariant nature, this linear transformation treats each band coefficient individually. The most efficient implementation is realized using a zyz Euler angle decomposition of the rotation Q using a fairly complex recurrence formula (see, for example, Non-Patent Document 13, Non-Patent Document 14, and Non-Patent Document 15). ). When dealing with low-order functions only, symbolic integration can be used to implement the explicit rotation formula described in these references.
[0068]
2. Self-transmission of radiance
The self-transmission of radiance summarizes how object O shadows itself and scatters light. The self-transmission of radiance is calculated using LpWe represent by first parameterizing the incident lighting at the point pεO, denoted as (s). Therefore, the incident lighting is n2Vector of coefficients (Lp) I. In practice, this lighting can be sampled dynamically and sparsely near the surface, perhaps only at a single point. This assumes that the variation in lighting on O that is not due to the presence of O itself is small (see Section 4.1 “Spatial Sampling of the Incident Radiance Field”). The radiance self-transmission can be pre-calculated as a transfer vector or matrix and stored on O at high density.
[0069]
Transfer vector (Mp)iCan be used for a diffusing surface and represents a linear transformation to the lighting vector, L ′ through the inner productpA scalar emission radiance expressed as follows is generated.
[0070]
[Expression 15]
Figure 0004343564
[0071]
That is, (Mp)iEach component of is a lighting basis function (Lp)iP represents the linear effect on shading.
[0072]
Transfer matrix (Mp)yCan be used for glossy surfaces and represents a linear transformation to the lighting vector, in which the transmitted radiance L 'rather than a scalar is transmitted.pThe projection coefficient of the entire spherical function (s) is obtained. Ie
[0073]
[Expression 16]
Figure 0004343564
[0074]
The difference between the incident radiance and the transmitted radiance is L 'p(S) includes the effects of shadowing and scattering due to the presence of O, while Lp(S) is a point representing incident lighting assuming that O has been removed from the scene. (Mp)yOf the transmitted radiance L 'pIncident radiance (L) for the i-th coefficient of (s)p) Represents the linear effect of the jth lighting coefficient of j. The next section describes how to determine the diffusion surface transfer vector and the glossy surface transfer matrix due to self-scattering on O.
[0075]
2.1 Spreading transmission
First, assume that O is diffusive. The simplest transfer function at the point p∈O is a scalar function
[0076]
[Expression 17]
Figure 0004343564
[0077]
Represents diffuse transmission without shadows, defined as, which results in an outgoing radiance that does not vary with view angle relative to the diffusing surface. Where ρpIs the albedo of the object at p and LpIs the incident radiance at p assuming that O has been removed from the scene, and NpIs the normal of the object at p and HNp(S) = max (Np[K, 0) is NpIt is a hemispherical nucleus with cosine weights centered on. LpAnd HNpBy SH projecting individually, in Equation (5), TDUIs the inner product of those coefficient vectors. The factor obtained by this is the light function LpAnd transfer function MpCall it. In this first simple case,
[0078]
[Formula 18]
Figure 0004343564
[0079]
It becomes.
[0080]
NpIs known, so the transfer function
[0081]
[Equation 19]
Figure 0004343564
[0082]
Can be calculated in advance, resulting in a transfer vector. In fact, NpSince a transfer vector can be obtained with a simple analytical expression, storage is not necessary.
[0083]
[Expression 20]
Figure 0004343564
[0084]
Is essentially a low-pass filter, so the quadratic projection (9 coefficients) provides good accuracy in any lighting environment (even if not smooth).
[0085]
To include shadows, use diffusive transmission with shadows.
[0086]
[Expression 21]
Figure 0004343564
[0087]
And an additional visibility function Vp(S) → {0,1} is equal to 1 when the ray from p in direction s does not intersect O again (ie cannot be shadowed). Like the unshaded transmission, this integral is LpSH projection and transfer function
[0088]
[Expression 22]
Figure 0004343564
[0089]
Can be decomposed into two functions. L againpAnd MpBy projecting SH individuallyDSThe integral inside is the inner product of the coefficient vectors.
[0090]
In this case, communication is important. The self-transmission of radiance is pre-calculated using a propagation simulator (described in the section “Pre-calculation of self-transmission” below) and the resulting transfer vector (Mp)iCan be stored at many points p on O. Unlike the previous case, VpCan generate high frequency lighting locally, for example by creating a shadow in the “pinhole”,
[0091]
[Expression 23]
Figure 0004343564
[0092]
Can be inaccurate even in smooth lighting environments. Using a 4th or 5th order projection gives good results with a regular mesh in a smooth lighting environment. For example, compare the unshaded image of the diffuse surface object of FIG. 9 with the shadowed image.
[0093]
Finally, in order to capture not only shadows but also diffusive interreflections (see, for example, the image with interreflections in Figure 9)
[0094]
[Expression 24]
Figure 0004343564
[0095]
Can be defined as
[0096]
[Expression 25]
Figure 0004343564
[0097]
Is the radiance from O itself in direction s. The problem is
[0098]
[Equation 26]
Figure 0004343564
[0099]
Is determined by the outgoing radiance of a point at an arbitrary distance from p, and since local lighting fluctuates on O, the incident radiance is given only by p unless the incident radiance is emitted from a light source at infinity. Even if radiance
[0100]
[Expression 27]
Figure 0004343564
[0101]
I don't know. If the variation in lighting on O is small, L is everywhere OpAs if illuminated by
[0102]
[Expression 28]
Figure 0004343564
[0103]
Very close to. Therefore, TDIIs LpCan be factored into a product of two projected functions, a light-dependent function and a geometry-dependent function, as in the previous two cases.
[0104]
Pre-calculated interreflection must assume that the incident lighting on O does not change spatially, but this assumption is not necessary for simpler shadowed transmissions. The difference is that the shadowed transmission depends only on the incident lighting at p, whereas the interreflected transmission is Lq≠ LpIt depends on many points q ≠ p on O. Therefore, if the incident radiance field is sampled sufficiently fine (as described in the section “Spatial sampling of the incident radiance field” below), local lighting variations can be captured and shadowed. Transmission is accurate.
[0105]
[Expression 29]
Figure 0004343564
[0106]
Is present, the interreflection transfer function
[0107]
[30]
Figure 0004343564
[0108]
Is difficult to express explicitly. The section “Pre-calculation of self-transmission” below describes how to calculate the projection coefficient numerically.
[0109]
2.2 Gloss transmission
Glossy object self-transmission can be defined similarly, but generalizes the kernel function to depend on the reflection direction R (depending on the view) rather than the (fixed) normal N. Similar to the previous H nucleus, the self-transmission of radiance can model the glossy reflection as the nucleus G (s, R, r), and the scalar r is the “glossiness” or breadth of the specular reaction. Define.
[0110]
Three similar gloss transfer functions with no shadow, with shadow, and with interreflection
[0111]
[31]
Figure 0004343564
[0112]
Which are both unknown quantities when precalculatedpAnd a scalar radiance in the direction R as a function of R. Since transfer is no longer just a function of s, it cannot be replaced by a simple vector of SH coefficients.
[0113]
Instead of parameterizing the scalar transmission with R and r, a more useful decomposition is the incident radiance Lp(S) to L 'pIt is transmitted to the entire spherical surface of the transmitted radiance represented by (s). If the gloss core G is circularly symmetric about R, then L ′pG ’in (s)r(Z) = G (s, (0, 0, 1), r) can be convolved and evaluated with R to obtain the final result.
[0114]
This time L ’pThe transmission to is represented as a matrix rather than a vector. For example, transmission with glossy shadows
[0115]
[Expression 32]
Figure 0004343564
[0116]
Which defines its SH projection via equation (7) as a symmetric matrix
[0117]
[Expression 33]
Figure 0004343564
[0118]
L which can be expressed aspIs a linear operator. Even in the case of very smooth lighting, as the glossiness of O increases, more SH bands are used.
[0119]
[Expression 34]
Figure 0004343564
[0120]
Under such conditions, a non-square matrix (eg, 25 × 9) that maps low frequency lighting to higher frequency transmitted radiance is useful.
[0121]
What is important in limiting the self-transmission of the radiance calculated in advance is TDIAnd TGIThe material properties (such as albedo and glossiness) of O that affect the mutual reflection in the are “baked in” to the preprocessed transmission and cannot be changed at runtime. In contrast, simpler shadowed transmission without interreflection allows for on-the-fly material property changes and / or spatial variations on O. An error occurs when an obstacle or light source enters the convex hull of O. O can only move as a rigid body and cannot deform or move certain components relative to the whole. Also recall the premise that accurate interreflection requires low lighting variation on O.
[0122]
Finally, the diffuse transfer defined above produces a radiance after leaving the surface because it has already folded the cosine-weighted normal hemisphere, whereas the gloss transfer is incident on the surface. Note that the radiance is generated and the local BRDF is convolved to obtain the final exit radiance. Further, it is possible to burn in a fixed BRDF in glossy O so that the G convolution at the time of execution is unnecessary, but the flexibility can be limited.
[0123]
FIG. 9 shows an unshaded image, a shadowed image, and an interreflected image of the glossy surface object.
[0124]
3. Pre-calculation of self-transmission
Referring now to FIG. 2, the illumination simulator 120 (FIG. 1) is a global illumination simulation performed on an object O using an SH infinite sphere (“reference lighting environment” for simulation) as an emitter. At 200, the self-transmission of the radiance of the modeled object is pre-calculated (also referred to as “pre-calculation of self-transmission”). This simulation is based on an nth-order SH projection of an unknown spherical surface of incident light L, i.e. n2Unknown coefficients LiParameterized by The simulation result is the SH basis function yiL using (s) as radiatoriEach can be calculated individually, but it is more efficient to calculate all at once. The reference lighting environment (spherical surface L at infinity) is the actual incident radiance L around O at run time.pReplace with
[0125]
The simulation 200 starts with a path simulating a direct shadow from a path that emits L and directly reaches the sample point pεO (“shadow path” 202). In the subsequent path (“interreflection path” 204), mutual reflection is added, representing a path (Lp, LDp, LDDp, etc.) from L that bounces back from O multiple times before reaching p. In each pass, energy is collected at every sample point on the p-surface. For large radiators (ie low frequency SH bases), energy aggregation is more efficient than shooting-type updates.
[0126]
A large (10k-30k) set of quasi-random directions in the simulation to capture the sphere in the direction at the sample point pεO
[0127]
[Expression 35]
Figure 0004343564
[0128]
Is generated. In the simulation, each direction sdThe evaluation of all SH basis functions in is also calculated in advance. Direction sdIs organized into hierarchical bins formed by refining the first icosahedron in 1 → 2 bisectors to equal area spherical triangles (as in the case of 1 → 4 subdivision on the sphere as a flat surface) In the simulation, 6-8 subdivision levels are used to generate 512-2048 bins. Any bin at each level of the hierarchy is sdContains a list of
[0129]
In the first pass or shadow pass 202, the simulation 200 tags (211) for each pεO the direction from the point p that self-occludes by the object. The simulation uses the hierarchy to cull directions that are outside the hemisphere, so that the normal N of ppProjects a shadow ray in a hemisphere centered at. In the simulation, each direction s with an occlusion bitdIe 1-Vp(Sd)dIs in the hemisphere and crosses O again (ie, O can shadow itself). Occlusion bits are also associated with hierarchical bins, and the occurrences of occlusion within binsdIndicates whether there is Directions and bins with self-occlusion are tagged to allow further interreflection paths for them, and bins / samples without any occlusion receive only direct light from the environment.
[0130]
Next, at 212, the simulation 200 integrates the transmitted radiance at point p. For a diffusing surface, the simulation shows that for each point pεO, M in equation (10)pFurther, a transfer vector is calculated by the SH projection. For a glossy surface, the simulation is M in equation (11).pThe transfer matrix is calculated by SH projection of In either case, the result represents the radiance collected at p and parameterized at L. Directional sample s SH projection to calculate transmissiondThis sum is the accumulated transfer using the following rule:
[0131]
[Table 1]
Figure 0004343564
[0132]
Superscript 0 represents the number of iterations. Vector M of each point ppOr matrix MpIs initialized to 0 before the shadow path, and in the shadow path all s in all pdTo sum. This rule is obtained using the diffusion transfer integral equation (1) and the gloss transfer integral equation (7).
[0133]
Referring also to FIG. 7, the subsequent interreflection path 204 traverses the bin in which the occlusion bit is set in the shadow path, and this time, 221 integrates the interreflection transmission. Instead of shadow rays, the simulation places a ray on O that returns the transmission from the outgoing illumination. Rays (p, sd) Intersects another point qεO (q is closest to p), the direction from q to −sdThe radiance emitted to is sampled. The following update rule is used, where the subscript b is the number of iterations of the rebound path.
[0134]
[Table 2]
Figure 0004343564
[0135]
Similar to the shadow path 202, the inter-reflection path 204 has a direction s.dStart by initializing the transmission vector or matrix to 0 before accumulating the transmission over. The diffusion rule is TDIAnd the rule of gloss is TGIAnd the formulas (6) and (7). The middle factor in the definition of gloss transmission represents the radiance originating from q of the previous rebound path b-1 and returning to p. MqStores the incident radiance, so convolve O BRDF in q
[0136]
[Expression 36]
Figure 0004343564
[0137]
The emission radiance in the direction of, and the sum over k must be obtained. akRecall that is the kth convolution coefficient expressed in notation indexed one by one. The “reflect” operator simply reflects its first vector argument with respect to its second vector argument. Equation (7) is expressed as (Mp)yNote that is formed by the product of two spherical functions, thus resulting in a symmetric matrix of glossy transmission with shadows. This is not the case for interreflective glossy transmissions.
[0138]
As shown at 230, the interreflective path 204 is repeated until a termination condition is met, such as the total energy of a given path being below a critical threshold. With standard materials, the interreflection decreases quite rapidly. The sum of the transmissions from all rebound paths corresponds to the mutual reflection.
[0139]
Alternatively, a simple enhancement to this simulation allows a mirror-like surface in O. This simulation does not record the transmission at such surfaces. Instead, light rays that strike a mirrored surface are always reflected and propagate until they reach a non-mirrored surface. Thus, the path in successive iterations is (L [S]*p, L [S]*D [S]*p, L [S]*D [S]*D [S]*p is a diffusive or glossy rebound, and S is a specular rebound. This introduces caustic to diffusive or glossy objects that react dynamically to lighting changes.
[0140]
4). Runtime rendering of radiance transfer
The simulation 200 described above (FIG. 2) provides a model that incorporates the transmission of radiance at a number of points p on the object surface, represented as a vector or matrix. Referring now to FIG. 3, the real-time image rendering engine 140 (FIG. 1) uses this model in the runtime procedure 300 to self-propagate the object in the selected lighting environment and view direction during real-time image rendering of the object. Calculate the radiance. 4 and 5 respectively show the flow of processing according to the run-time procedure 300 for the diffusing surface and the glossy surface.
[0141]
In step 300, the rendering engine 140 performs the following operations at runtime. One or more sample points P close to O at 310iIncident lighting at Lpi} For the SH basis. 320 that LPiRotate to fit the coordinate frame of O, blend them (see below), incident lighting L on OpGet the field. 330-390, at each point p on O (Lp)iThe output radiation radiance is obtained by performing a linear transformation on. This linear transformation is either the dot product of the diffuse surface of action 350 (equation (8)) with (Mp) i or the glossy surface of action 360 (equation (9)) (Mp)ijAnd matrix vector multiplication. There are further actions 370 and 380 on the glossy surface, where the BRDF of O at p is convolved with the radiance vector obtained by multiplication 360 and evaluated in a view-dependent reflection direction R.
[0142]
For action 310, the rendering engine 140 loads a pre-calculated environment map, evaluates an analytical lighting model in software, or uses graphics hardware as a representation of incident lighting for the selected lighting environment. The radiance can be sampled. The rotation of action 320 is outlined in Section 1, “Spherical Harmonic Overview”, which is done once per object, not per point p. This rotation is done because the transmission is stored using a common coordinate system for O. If O is moving as a rigid body, it will align with O rather than rotate many transfer functions of O.piIt is more efficient to rotate several radiance samples in it.
[0143]
For a diffuse surface, a simple implementation of action 350 is to store a transfer vector for each vertex and do a dot product with a vertex shader. The transfer vector can be stored in a texture map instead of stored for each vertex and evaluated using a pixel shader. Since these coefficients are not always in the range [-1, 1], they are signed quantities, so the DirectX 8.1 pixel shader (V1.4) that provides a wider range [-8, 8] or those OpenGL corresponding to (extension by ATI) can be used. In one implementation, the pixel shader requires only 8 instructions to perform the dot product and LpIs stored in the constant register.
[0144]
The color bleeding simulation in the colored environment or O is performed three times, and individual dot products are performed on the r, g, and b channels in each pass. In other cases, a single pass is sufficient.
[0145]
In the case of gloss self-transmission, the matrix transformation of equation (9) can be done in software because the transfer matrix may be too large to operate with either the current vertex shader or pixel shader. The result is (L ’p)iThat is, it becomes the SH coefficient of the transmitted radiance at the point p on O. And with pixel shader, G*The convolution 370 can be performed using a simple cosine power (Phong lobe) kernel, and the result can be evaluated in the reflection direction R. This result is
[0146]
[Expression 37]
Figure 0004343564
[0147]
Can be written. Current graphics hardware can evaluate up to 5th order SH projection.
[0148]
4.1 Spatial sampling of incident radiance field
A simple and useful approach to dynamically sample the incident radiance is to sample the incident radiance at the O center point. To deal with local lighting variations on O, more precise techniques sample incident lighting at multiple points. Given a desired number of points as input, an appropriate set of sample points can be obtained as a pre-process using an ICP (iterative nearest neighbor) algorithm (see, for example, Non-Patent Document 16). As a result, the points P that are uniformly distributed on O close to O where incident lighting can be sampled at the time of execution.iA representative set of is generated. Rendering engine 140 calculates each resulting spherical radiance sphere LpiPre-compute the coefficient at each point p on O that blends the contribution frompAn incident radiance field on O can be obtained.
[0149]
FIG. 11 represents an image obtained from sampling incident radiance at a single point, ICP point, and multiple samples and rendering using the runtime procedure 300 of FIG.
[0150]
4.2 Sampling of SH radiance with graphics hardware
The graphics hardware uses radiance samples {LPi} Is useful. To do this, each P corresponding to the six surfaces of the spherical parameterization of the cube map.iTo render six images. O itself must be removed from the rendering. The cube map image is then projected onto its own SH coefficient using the integration of equation (1).
[0151]
From the viewpoint of efficiency, textures are calculated in advance for basis functions weighted by the difference solid angle evaluated for the parameterization of each s cube map.
[0152]
[Formula 38]
Figure 0004343564
[0153]
. The resulting integral is then taken into LpSample and texture of (s)
[0154]
[39]
Figure 0004343564
[0155]
Is a simple dot product.
[0156]
This calculation is ideally done with graphics hardware. Or, since the inner product cannot be performed by the problem of accuracy and the hardware, the sampled radiance image may be read back and projected by software. In this case, it is useful to reduce the resolution of the read back image as much as possible.
[0157]
The low order SH projection can be calculated using a very low resolution cube map, assuming that it is properly bandlimited. For example, a spherical signal that has already been band-limited to the 6th order can be projected using a 64 × 4 image, by assuming a power unit signal (ie, a signal whose integral square on the sphere is 1). When the error is normalized, the mean case square error is about 0.3%, and the worst case square error is about 1%. (To be more precise, the average case error is the integrated squared difference of the reference signal and the reconstructed signal averaged over all unit-power signals. The worst case error is the same integral error. In a 6 × 8 × 8 map (which is the error for the worst case power unit signal), this error is reduced to 0.003% on average and 0.02% in the worst case. The disadvantage is that typical signals are not band limited to a sphere. According to another analysis, assuming continuous bilinear reconstruction of the sampled 2D image, the 6th order projection using 6 × 8 × 8 image has a mean case square error of 0.7%, The worst case error is 2%, and for a 6 × 16 × 16 image, the errors are 0.2% and 0.5%, respectively.
[0158]
An exemplary implementation extracts a 6 × 16 × 16 image from hardware. As is always the case with rendering with point sampling, the above analysis still uses bilinear reconstruction from point samples as a reference, so aliasing of 2D images is still a problem. To reduce aliasing, cube map images can be supersampled (eg, doubled) in each dimension, and box-filtered decimation can be performed in hardware before readout and projection. Similarly, basis function textures can also be supersampled and decimated as preprocessing. For radiance samples including readback and SH projection, this exemplary implementation takes about 1.16 ms on a PIII-933 PC with an ATI Radeon 8500.
[0159]
4.3 Self-transmission of volume model
The same framework is used for volume self-transmission data as for the surface. The resulting pre-computation model allows lighting to be changed at run time, resulting in accurate shadowing and interreflection in any low frequency lighting environment. FIG. 12 shows a self-transmission in volume with a variant for volume self-transmission (described below) of the runtime procedure 300 to capture how the cloud model shadows itself and scatters light. Represents an image of a cloud model using.
[0160]
Similar to surface transfer, the preprocessing step uses SH basis functions as radiators to simulate lighting on the volume. In the case of shadowed transmission without interreflection (ie direct shadowing), the simulator collects energy from the radiator to all voxels p of the volume that is attenuated by its path through the volume. Direction sdThe numerical integration required for
[0161]
[Formula 40]
Figure 0004343564
[0162]
Λ (p → q) is the integrated attenuation of the volume along the path from p to q, and D is the ray (p, sd) Is the distance to leave the volume. In order to include interreflection, the simulation traverses every voxel p and generates a random direction sdScatters its transmission forward along. Communication, rules
[0163]
[Expression 41]
Figure 0004343564
[0164]
To exit the volume usingdIs placed in all voxels q. As more passes are made to the volume, more indirect rebounds are generated.
[0165]
Rendering is done in a conventional manner, i.e. by drawing slices through the 3D volume in back-to-front order using alpha blending that takes transparency into account. Each slice is a 2D image containing a sample of transfer vectors. The pixel shader calculates the dot product of the lighting coefficient and the transfer vector needed to shade each slice.
[0166]
5). Near-field transmission of radiance
In the neighborhood transmission, the influence of the object O on the environment adjacent to the parameterized low frequency lighting is calculated in advance. FIG. 13 blurs the uneven terrain near the hang glider, captured using the simulation 200 (FIG. 2) deformation for near transmission (described below) and the runtime rendering procedure 300 (FIG. 3). Shows a shadowed image. The simulation of propagation is the same as the simulation of self-transmission in Section 3, “Self-Transmission Precalculation”, but is performed on points in 3D space surrounding O, not on O. Arbitrary objects R can be placed in this volume at runtime to capture shadows, reflections, and caustics that are thrown onto R by O without knowing R in advance. For example, a moving vehicle O can cast a shadow on the ground R. Thrown shadows and lighting react to lighting changes. For example, if you move the light, the blurred shadow on R will move. This generalizes the irradiance volume by taking into account glossy transmission and enabling dynamic lighting (see, for example, Non-Patent Document 17).
[0167]
Since R is unknown in the precomputation step, the neighborhood volume of O stores a transfer matrix, not a vector. This is also true for diffusion objects since the normal of R is not known in advance.
[0168]
In one implementation, the simulator transmits a transfer matrix M at each point in a simple 3D grid around O.pIs calculated in advance. At runtime, the rendering engine performs the matrix transformation of equation (9) in software at each point in the volume and uploads the results to the graphics hardware. The result is the transmitted radiance (L 'p), And this is applied to R.
[0169]
The pixel shader then uses the transmitted radiance to light the object. The diffusing object is a hemisphere H that cosine weights the radiance using equation (6).*And the resulting SH projection is evaluated with the R normal vector. A glossy object performs equation (12).
[0170]
An object for which self-transmission is calculated in advance has a problem that O and R do not share a common coordinate system. For this reason, a dense set of transmission samples of one of the two objects must be dynamically rotated and aligned with the other. Its complexity is O (n4), Which is the same as the complexity of performing the matrix transformation of Equation (9), but the higher-order projection rotation is considerably more burdensome than the operation. Hardware improvements will soon alleviate this problem.
[0171]
Compared to self-transmission, neighborhood transmission introduces some additional approximation errors. Shadows or light cast from a plurality of nearby transmission objects onto the same object are difficult to combine. Local lighting fluctuations not due to the presence of O or R are also a problem. That is, the lighting must be fairly constant across the neighborhood of O to provide accurate results. Specifically, when an object other than O and R enters the vicinity of O, an error such as lack of a desired shadow occurs. Also, the vicinity of O must be large enough to contain any shadow or light that O can cast on R. Nevertheless, proximity transmission captures effects that cannot be obtained in real time with conventional methods.
[0172]
6). Computing environment
FIG. 6 is a schematic example of a suitable computing environment 600 in which example embodiments may be implemented. Since the present invention can be implemented in various general purpose or special purpose computing environments, the computing environment 600 does not imply any limitation as to the scope of use or functionality of the invention.
[0173]
With reference to FIG. 6, the computing environment 600 includes at least one processing unit 610 and memory 620. In FIG. 6, this most basic configuration 630 is included within a dotted line. The processing unit 610 executes computer-executable instructions and may be an actual processor or a virtual processor. In a multi-processing system, a computer effective instruction is executed by a plurality of processing devices to increase processing power. Memory 620 may be volatile memory (eg, registers, cache, RAM), non-volatile memory (eg, ROM, EEPROM, flash memory, etc.), or some combination of the two. Memory 620 stores software 680 that implements graphic image rendering using radiance self-transmission.
[0174]
The computing environment can include other functions. For example, the computing environment 600 includes a storage 640, one or more input devices 650, one or more output devices 660, and one or more communication connections 670. An interconnection mechanism (not shown) such as a bus, controller, or network interconnects the components of the computing environment 600. Typically, operating system software (not shown) provides an operating environment for other software running on the computing environment 600 and coordinates the activities of the components of the computing environment 600. As noted above, the computing environment preferably includes DirectX and OpenGL function libraries, graphics processing hardware and software such as ATI Radeon and NVidia GeForce video cards.
[0175]
Storage 640 may be removable or non-removable and may be used to store magnetic disks, magnetic tapes or cassettes, CD-ROMs, CD-RWs, DVDs, or information and is accessible within computing environment 600. Including any other media. Storage 640 stores instructions for software 680 that implements the image rendering system (FIG. 1).
[0176]
Input device 650 may be a touch input device such as a keyboard, mouse, pen, trackball, voice input device, scanning device, or other device that provides input to computing environment 600. For audio, the input device 650 may be a sound card or a similar device that accepts analog or digital audio input. Output device 660 may be a display, printer, speaker, or other device that provides output from computing environment 600.
[0177]
Communication connection 670 allows communication with another computing entity over a communication medium. The communication medium propagates information such as computer-executed instructions, compressed audio or video information, or other data in a modulated data signal. A modulated data signal is a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired or wireless technology implemented using electrical, optical, RF, infrared, acoustic, or other carrier waves.
[0178]
The invention can be described in the general context of computer-readable media. Computer readable media can be any available media that can be accessed within a computing environment. By way of example, and not limitation, in computing environment 600, computer-readable media include memory 620, storage 640, communication media, and any combination of the above-described media.
[0179]
The invention may be described in the general context of computer-executable instructions contained in program modules and executed on a real or virtual target processor in a computing environment. Generally, program modules include routines, programs, libraries, objects, classes, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The functions of the program modules can be combined or divided among the program modules as required in various embodiments. Computer-executable instructions for program modules may be executed in local or distributed computing environments.
[0180]
For presentation purposes, this detailed description includes "determine", "get", "adjust", and "apply" to describe computer behavior within the computing environment. (Apply) ". These terms are high-level abstractions of actions performed by computers and should not be confused with actions performed by humans. The actual computer operations corresponding to these words vary depending on the implementation.
[0181]
While the principles of the invention have been described and illustrated with reference to exemplary embodiments, it will be appreciated that the exemplary embodiments can be modified in arrangement and detail without departing from the principles set forth above. Unless otherwise indicated, it is to be understood that the programs, processes, or methods described herein are not related or limited to any particular type of computing environment. Various types of general purpose or specialized computing environments can be used in conjunction with, or can perform, the operations according to the teachings described herein. Elements of the exemplary embodiment shown as software may be implemented in hardware and vice versa.
[0182]
In light of the many possible embodiments to which the principles of the present invention may be applied, all embodiments that fall within the scope and spirit of the following claims and their equivalents are claimed as the present invention.
[Brief description of the drawings]
FIG. 1 is a block diagram of a computer graphics software architecture that incorporates precomputed radiance self-transmission for real-time image rendering in a dynamic low frequency lighting environment.
FIG. 2 is a flow diagram of self-calculation precomputation in the image rendering system of FIG.
3 is a flow diagram of real-time rendering of radiance transfer in the image rendering system of FIG.
4 is a flow diagram for processing diffuse surface self-transmission at runtime in the real-time rendering of FIG.
5 is a flow diagram for processing glossy surface self-transmission at runtime in the real-time rendering of FIG.
FIG. 6 is a block diagram of a computing environment suitable for the image rendering system of FIG.
7 is a diagram showing mutual reflection simulated by the pre-computation of self-transmission in FIG. 2;
8 is a diagram of an image generated through the real-time rendering of FIG. 3 without shadowing.
9 is an image showing the effect of self-transmission on the diffusing surface generated through the real-time rendering of FIG. 3 with no shadowing.
10 is an image showing the effect of self-transmission of a glossy surface generated through the real-time rendering of FIG. 3 with no shadowing.
11 is a diagram of an image generated via the real-time rendering of FIG. 3, each sampling the incident radiance at a single point, an iterative nearest point algorithm (ICP) point, and multiple samples.
12 is an illustration of a volume self-transmission image generated via the real-time rendering of FIG. 3. FIG.
13 is a diagram of a neighborhood transmission image generated via the real-time rendering of FIG. 3. FIG.
[Explanation of symbols]
100 Computer graphic image rendering system
110 Geometric Object Model
130 Radiance self-transmission data
120 Global Illumination Simulator
140 Real-time image rendering engine
150 Lighting environment
160 view direction
170 User control
180 graphic display driver
600 computing environment
610 processor
620 memory
640 storage
650 input device
660 output device
670 Communication connection
680 software

Claims (65)

幾何学的にモデリングされたオブジェクトのコンピュータグラフィック画像をレンダリングする、コンピュータによって行われる方法であって、
前記モデリングされたオブジェクト上の複数の位置について自己シャドーイングおよび相互反射をシミュレートして、前記複数の位置における領域支持ライティング基底関数の線形結合に対するグローバル伝達効果を含む前記オブジェクトの放射反応を表す放射輝度伝達データを生成するステップと、
前記放射輝度伝達データに基づいて、あるライティング環境であるビュー方向について前記位置における前記モデリングされたオブジェクトの放射輝度伝達を評価するステップと、
前記放射輝度伝達の評価に従ってシェーディングした前記モデリングされたオブジェクトの画像を生成するステップと
を含むことを特徴とする方法。
A computer-implemented method for rendering a computer graphic image of a geometrically modeled object comprising:
A radiation that represents the radiation response of the object including a global transfer effect on a linear combination of region-supporting lighting basis functions at the plurality of locations, simulating self-shadowing and interreflection at a plurality of locations on the modeled object Generating luminance transfer data; and
Evaluating the radiance transfer of the modeled object at the location for a view direction, which is a lighting environment, based on the radiance transfer data;
Generating an image of the modeled object shaded according to the radiance transfer assessment.
前記シミュレートのステップは、基準とする低周波数ライティング環境で照明を当てた前記モデリングされたオブジェクトをシミュレートすることを含むことを特徴とする請求項1に記載の方法。  The method of claim 1, wherein the step of simulating includes simulating the modeled object illuminated in a reference low frequency lighting environment. 前記放射輝度伝達データは、前記位置における前記モデリングされたオブジェクトのソース放射輝度の出射放射輝度への伝達を表すことを特徴とする請求項1に記載の方法。  The method of claim 1, wherein the radiance transfer data represents a transfer of a source radiance of the modeled object at the location to an outgoing radiance. 前記放射輝度伝達データは、前記位置における前記モデリングされたオブジェクトのソース放射輝度の、伝達された入射放射輝度への伝達を表すことを特徴とする請求項1に記載の方法。  The method of claim 1, wherein the radiance transfer data represents a transfer of a source radiance of the modeled object at the location to a transmitted incident radiance. 前記ライティングをシミュレートするステップは前処理として行われ、前記評価および生成のステップがリアルタイムで行われることを特徴とする請求項1に記載の方法。  The method of claim 1, wherein the step of simulating lighting is performed as a pre-processing, and the step of evaluating and generating is performed in real time. 前記放射輝度伝達を評価するステップは、
あるライティング環境中の少なくとも1つのサンプリング点の光源ライティングデータを計算することと、
前記モデリングされたオブジェクトの表面上の複数の位置について事前に計算した放射輝度伝達データに従って前記計算された光源ライティングデータに線形変換を行って、あるビューについての前記位置からの出射放射輝度のデータを得、前記放射輝度伝達データは、基準とするライティング環境下での、前記位置における光源光に対する前記モデリングされたオブジェクトのグローバル伝播効果を含む放射輝度反応を表すことと
を含むことを特徴とする請求項1に記載の方法。
Evaluating the radiance transfer comprises:
Calculating light source lighting data for at least one sampling point in a lighting environment;
A linear transformation is performed on the calculated light source lighting data in accordance with pre-calculated radiance transfer data for a plurality of positions on the surface of the modeled object to obtain exit radiance data from the position for a view. And the radiance transfer data includes representing a radiance response including a global propagation effect of the modeled object to source light at the location under a reference lighting environment. Item 2. The method according to Item 1.
前記放射輝度伝達データは、前記モデリングされたオブジェクトの拡散表面上のある位置の放射輝度反応を表す放射輝度伝達ベクトルを含み、前記放射輝度伝達を評価するステップは、前記モデリングされたオブジェクトの前記拡散表面について、
あるライティング環境で少なくとも1つのサンプリング点の光源放射輝度ベクトルを計算することと、
前記光源放射輝度ベクトルと前記放射輝度伝達ベクトルとのドット積を計算することとを含むことを特徴とする請求項1に記載の方法。
The radiance transfer data includes a radiance transfer vector representing a radiance response at a location on the diffusing surface of the modeled object, and evaluating the radiance transfer includes the diffusion of the modeled object. About the surface
Calculating a light source radiance vector for at least one sampling point in a lighting environment;
The method of claim 1 including calculating a dot product of the light source radiance vector and the radiance transfer vector.
前記放射輝度伝達データは、前記モデリングされたオブジェクトの光沢表面上のある位置の放射輝度反応を表すデータを含み、前記放射輝度伝達を評価するステップは、前記モデリングされたオブジェクトの前記光沢表面について、
あるライティング環境で少なくとも1つのサンプリング点の光源放射輝度ベクトルを計算することと、
前記光源放射輝度ベクトル、前記位置の放射輝度反応を表す前記データ、および前記位置の双方向反射分布関数の関数として、あるビュー方向についての前記位置からの出射放射輝度を求めることと
を含むことを特徴とする請求項1に記載の方法。
The radiance transfer data includes data representing a radiance response at a location on the glossy surface of the modeled object, and the step of evaluating the radiance transfer is for the glossy surface of the modeled object,
Calculating a light source radiance vector for at least one sampling point in a lighting environment;
Determining an exit radiance from the position for a view direction as a function of the light source radiance vector, the data representing the radiance response of the position, and a bidirectional reflection distribution function of the position. The method of claim 1, characterized in that:
前記放射輝度伝達データは、前記モデリングされたオブジェクトの光沢表面上のある位置の放射輝度反応を表すデータを含み、前記放射輝度伝達を評価するステップは、前記モデリングされたオブジェクトの前記光沢表面について、
あるライティング環境で少なくとも1つのサンプリング点の光源放射輝度ベクトルを計算することと、
前記光源放射輝度ベクトルおよび前記位置の放射輝度反応を表す前記データに基づいて、前記位置の伝達放射輝度を求めることと、
前記伝達放射輝度および前記位置の双方向反射分布関数に基づいて、あるビュー方向についての前記位置からの出射放射輝度を求めることと
を含むことを特徴とする請求項1に記載の方法。
The radiance transfer data includes data representing a radiance response at a location on the glossy surface of the modeled object, and the step of evaluating the radiance transfer is for the glossy surface of the modeled object,
Calculating a light source radiance vector for at least one sampling point in a lighting environment;
Determining the transmitted radiance of the position based on the light source radiance vector and the data representing the radiance response of the position;
2. The method of claim 1, comprising determining an exit radiance from the position for a view direction based on the transmitted radiance and a bidirectional reflection distribution function of the position.
前記放射輝度伝達データは、前記モデリングされたオブジェクトの光沢表面上のある位置の放射輝度反応を表す放射輝度伝達行列を含み、前記放射輝度伝達を評価するステップは、前記モデリングされたオブジェクトの前記光沢表面について、
あるライティング環境で少なくとも1つのサンプリング点の光源放射輝度ベクトルを計算することと、
前記光源放射輝度ベクトルと前記放射輝度伝達行列との行列ベクトル乗算を行うことと、
前記行列ベクトル乗算の積に、前記モデリングされたオブジェクトの光沢表面上の前記位置の双方向反射分布関数を畳み込むことと
あるビュー方向について前記畳み込みの結果を評価することと
を含むことを特徴とする請求項1に記載の方法。
The radiance transfer data includes a radiance transfer matrix that represents a radiance response at a location on the glossy surface of the modeled object, and evaluating the radiance transfer includes the gloss of the modeled object. About the surface
Calculating a light source radiance vector for at least one sampling point in a lighting environment;
Performing matrix vector multiplication of the light source radiance vector and the radiance transfer matrix;
The product of the matrix-vector multiplication includes convolving a bi-directional reflection distribution function of the location on the glossy surface of the modeled object and evaluating the result of the convolution for a view direction. The method of claim 1.
幾何学的にモデリングされたオブジェクトの表面のコンピュータグラフィック画像をリアルタイムレンダリングする、コンピュータによって行われる方法であって、
あるライティング環境で少なくとも1つのサンプリング点の光源ライティングデータを計算するステップと、
前記モデリングされたオブジェクトの表面上の複数の位置について事前に計算された放射輝度伝達データに従って前記計算された光源ライティングデータに線形変換を行ってあるビュー方向についての前記位置からの出射放射輝度のデータを得るステップであって、前記放射輝度伝達データは、基準とするライティング環境下での前記位置における光源光に対する前記モデリングされたオブジェクトのグローバル伝播効果を含む放射輝度反応を含んだ放射輝度反応を表すステップと、
前記位置からの前記出射放射輝度に従ってシェーディングした、前記ビュー方向について前記ライティング環境で前記モデリングされたオブジェクトの画像を生成するステップと
を含み、
前記モデリングされたオブジェクトの拡張表面の場合に前記線形変換を行うことは、
光源放射輝度ベクトルと事前に計算された放射輝度伝達ベクトルとのドット積を計算することを含み、前記光源放射輝度ベクトルは、あるサンプリング点における光源光を表し、前記事前に計算された放射輝度伝達ベクトルは、前記モデリングされたオブジェクトの拡散表面上のある位置の放射輝度反応を表し、
前記モデリングされたオブジェクトの光沢表面の場合に前記線形変換を行うことは、
あるサンプリング点における光源光を表す光源放射輝度ベクトルと、前記モデリングされたオブジェクトの光沢表面上のある位置の放射輝度反応を表す事前に計算された放射輝度伝達行列との行列ベクトル乗算を行うことと、
前記行列ベクトル乗算の積に、前記モデリングされたオブジェクトの光沢表面上の前記位置の双方向反射分布関数を畳み込むことと、
あるビュー方向について前記畳み込みの結果を評価することと
を含むことを特徴とする方法。
A computer-implemented method for real-time rendering of a computer graphic image of a surface of a geometrically modeled object, comprising:
Calculating light source lighting data for at least one sampling point in a lighting environment;
Radiation radiance data from the position for a view direction that has been linearly transformed into the calculated light source lighting data according to pre-calculated radiance transfer data for a plurality of positions on the surface of the modeled object Wherein the radiance transfer data represents a radiance response including a radiance response including a global propagation effect of the modeled object to source light at the location under a reference lighting environment. Steps,
See containing and generating said shading according emitted radiance, images of the being the modeled for a view direction in the lighting environment object from said position,
Performing the linear transformation in the case of an extended surface of the modeled object is
Calculating a dot product of a source radiance vector and a pre-calculated radiance transfer vector, wherein the source radiance vector represents source light at a sampling point and the pre-calculated radiance The transfer vector represents the radiance response at a position on the diffusing surface of the modeled object,
Performing the linear transformation in the case of the glossy surface of the modeled object is
Performing a matrix vector multiplication of a source radiance vector representing source light at a sampling point and a pre-calculated radiance transfer matrix representing a radiance response at a position on the glossy surface of the modeled object; ,
Convolving a product of the matrix vector multiplication with a bi-directional reflection distribution function of the position on the glossy surface of the modeled object;
Evaluating the result of the convolution for a view direction;
Wherein the free Mukoto a.
幾何学的にモデリングされたオブジェクトの拡散表面のコンピュータグラフィック画像をリアルタイムレンダリングする、コンピュータによって行われる方法であって、
あるライティング環境下の放射輝度を球面調和関数基底に射影して、前記モデリングされたオブジェクトの少なくとも1つの位置のライティング係数ベクトルを生成するステップと、
前記ライティング係数ベクトルと、前記拡散表面上の少なくとも1つの位置について事前に計算された放射輝度伝達ベクトルとのドット積を計算して、前記ライティング環境とビュー方向についての前記モデリングされたオブジェクトの前記拡散表面上の前記少なくとも1つの位置における出射放射輝度を生成するステップであって、前記事前に計算された放射輝度伝達ベクトルは、基準とする低周波数ライティング環境下での光源光に対する前記少なくとも1つの位置における前記拡散表面のグローバル伝播効果を含む放射輝度反応を表すステップと、
前記少なくとも1つの位置における前記モデリングされたオブジェクトの前記拡散表面のシェーディングを計算するステップと、
前記シェーディングをつけて前記モデリングされたオブジェクトの前記拡散表面の画像を生成するステップと
を含むことを特徴とする方法。
A computer-implemented method for real-time rendering of a computer graphic image of a diffusing surface of a geometrically modeled object comprising:
Projecting a radiance under a lighting environment onto a spherical harmonic basis to generate a lighting coefficient vector for at least one location of the modeled object;
Calculating the dot product of the lighting coefficient vector and a pre-calculated radiance transfer vector for at least one position on the diffusing surface, so that the diffusion of the modeled object for the lighting environment and view direction; Generating an exit radiance at the at least one location on a surface, wherein the pre-calculated radiance transfer vector is the at least one for source light under a reference low frequency lighting environment; Representing a radiance response including a global propagation effect of the diffusing surface at a location;
Calculating shading of the diffuse surface of the modeled object at the at least one location;
Applying the shading to generate an image of the diffusing surface of the modeled object.
幾何学的にモデリングされたオブジェクトの光沢表面のコンピュータグラフィック画像をリアルタイムレンダリングする、コンピュータによって行われる方法であって、
あるライティング環境下での放射輝度を球面調和関数基底に射影して、前記モデリングされたオブジェクトの少なくとも1つの位置のライティング係数ベクトルを生成するステップと、
前記ライティング係数ベクトルと、基準とする低周波数ライティング環境下での前記少なくとも1つの位置における光源光に対する前記光沢表面のグローバル伝播効果を含む放射輝度反応を表す事前に計算された放射輝度伝達行列データと、前記少なくとも1つの位置の双方向反射分布関数との関数として、あるビュー方向について前記光沢表面上の前記少なくとも1つの位置からの出射放射輝度を求めるステップと、
前記少なくとも1つの位置における前記モデリングされたオブジェクトの前記光沢表面のシェーディングを計算するステップと、
前記シェーディングをつけた前記モデリングされたオブジェクトの前記光沢表面の画像を生成するステップと
を含むことを特徴とする方法。
A computer-implemented method for real-time rendering of a computer graphic image of a glossy surface of a geometrically modeled object comprising:
Projecting radiance under a lighting environment onto a spherical harmonic basis to generate a lighting coefficient vector for at least one location of the modeled object;
Pre-calculated radiance transfer matrix data representing a radiance response including a global propagation effect of the glossy surface to source light at the at least one location under a reference low frequency lighting environment; Determining an exit radiance from the at least one position on the glossy surface for a view direction as a function of a bi-directional reflection distribution function of the at least one position;
Calculating a shading of the glossy surface of the modeled object at the at least one location;
Generating the glossy surface image of the modeled object with the shading.
あるビュー方向についての出射放射輝度を求めるステップが、
前記ライティング係数ベクトルと、前記光沢表面上の少なくとも1つの位置について事前に計算された放射輝度伝達行列との行列ベクトル乗算を行い、前記事前に計算された放射輝度伝達行列は、基準とする低周波数ライティング環境下での前記少なくとも1つの位置における光源光に対する前記光沢表面のグローバル伝播効果を含む放射輝度反応を表すことと、
前記行列ベクトル乗算の積に、前記モデリングされたオブジェクトの前記光沢表面上の前記位置の双方向反射分布関数を畳み込むことと、
あるビュー方向について前記畳み込みの結果を評価することと
を含むことを特徴とする請求項1に記載の方法。
Determining the outgoing radiance for a view direction is
Matrix vector multiplication of the lighting coefficient vector and a pre-computed radiance transfer matrix for at least one location on the glossy surface is performed, the pre-computed radiance transfer matrix being a reference low Representing a radiance response including a global propagation effect of the glossy surface to source light at the at least one location in a frequency lighting environment;
Convolving the product of the matrix vector multiplication with a bi-directional reflection distribution function at the location on the glossy surface of the modeled object;
The method of claim 1 3, characterized in that it comprises a evaluating the results of the convolution said for a view direction.
あるビュー方向について出射放射輝度を求めるステップが、
前記ライティング係数ベクトルと、前記光沢表面上の少なくとも1つの位置について事前に計算された放射輝度伝達行列との行列ベクトル乗算に基づいて前記出射放射輝度を計算することであって、前記事前に計算された放射輝度伝達行列は、前記少なくとも1つの位置における、前記基準低周波数ライティング環境下でのソース光に対する前記光沢表面のグローバル伝達効果を含む放射輝度反応を表すこと
を含むことを特徴とする請求項1に記載の方法。
Determining the exit radiance for a view direction comprises:
Calculating the exit radiance based on a matrix vector multiplication of the lighting coefficient vector and a radiance transfer matrix pre-calculated for at least one position on the glossy surface, the pre-calculation The radiance transfer matrix determined includes representing a radiance response including a global transfer effect of the glossy surface to source light under the reference low frequency lighting environment at the at least one location. the method according to claim 1 3.
モデリングされたオブジェクトのコンピュータグラフィック画像のリアルタイムレンダリングおよび表示に使用する放射輝度自己伝達データを生成する、コンピュータによって行われる方法であって、
領域支持ライティング基底関数の線形結合として表された基準低周波数ライティング環境について、前記モデリングされたオブジェクトにグローバルイルミネーションシミュレーションを行うステップであって、前記シミュレーションは、前記モデリングされたオブジェクト上の複数のサンプル点の放射輝度伝達を計算し、前記シミュレーションは、前記モデリングされたオブジェクトの自己シャドーイングと相互反射を取り入れるステップと、
前記モデリングされたオブジェクト上の放射輝度伝達をレンダリングして前記モデリングされたオブジェクトのグラフィック画像を生成する際に使用するために、前記複数のサンプル点のグローバルイルミネーションシミュレーションを、前記領域支持ライティング基底関数の係数の線形変換として記録するステップと
を含むことを特徴とする方法。
A computer-implemented method for generating radiance self-transmitting data for use in real-time rendering and display of computer graphic images of modeled objects comprising:
Performing a global illumination simulation on the modeled object for a reference low frequency lighting environment expressed as a linear combination of region-supported lighting basis functions, the simulation comprising a plurality of sample points on the modeled object Calculating the radiance transfer of the model, wherein the simulation incorporates self-shadowing and interreflection of the modeled object;
For use in generating a graphical image of the modeled object by rendering radiance transfer over the modeled object, the global illumination simulation for the plurality of sample points, the area supporting lighting basis functions Recording as a linear transformation of the coefficients.
前記基準低周波数ライティング環境を入射光の球面の球面調和関数基底の射影としてパラメータ化することを特徴とする請求項16に記載の方法。The method of claim 16 , wherein the reference low frequency lighting environment is parameterized as a projection of a spherical harmonic basis of a spherical surface of incident light. 前記グローバルイルミネーションシミュレーションを複数のパスで前記モデリングされたオブジェクトに行うステップと、
最初のシャドーイングパスで、前記モデリングされたオブジェクトの自己シャドーイングを含む前記モデリングされたオブジェクト上の複数のサンプル点の直接照明をシミュレートするステップであって、前記直接照明のシミュレートは、あるサンプル点について、
法線方向を中心とする半球内の前記サンプル点から前記モデリングされたオブジェクトの表面への複数の方向を前記サンプル点で評価すること、
前記モデリングされたオブジェクトと交差する前記サンプル点からの方向にオクルージョンが生じるとしてタグをつけること、および
前記複数の方向への前記サンプル点の直接照明からの放射輝度伝達を累積して、前記サンプル点の放射輝度伝達データを生成すること
を含むステップと、
続く相互反射パスで、前記モデリングされたオブジェクト上の前記複数のサンプル点の相互反射照明をシミュレートするステップであって、前記相互反射照明のシミュレートは、あるサンプル点について、
オクルージョンが生じるとしてタグ付けされた前記複数の方向への前記サンプル点の相互反射した照明からの放射輝度伝達を累積して、前記サンプル点の放射輝度伝達データを生成すること
を含むステップと、
条件が満たされるまで相互反射パスを反復するステップと、
あるサンプル点について、前記最初のシャドーイングパスおよび続く相互反射パスで累積された前記放射輝度伝達データを合計して、前記サンプル点の合計放射輝度伝達を生成するステップと
を含むことを特徴とする請求項16に記載の方法。
Performing the global illumination simulation on the modeled object in multiple passes;
Simulating direct illumination of a plurality of sample points on the modeled object in a first shadowing pass, including self-shadowing of the modeled object, wherein the simulation of direct illumination is About sample points
Evaluating at the sample points a plurality of directions from the sample points in the hemisphere centered on the normal direction to the surface of the modeled object;
Tagging as occlusion occurs in a direction from the sample point that intersects the modeled object, and accumulating radiance transfer from direct illumination of the sample point in the plurality of directions, Generating radiance transfer data of:
Simulating the interreflective illumination of the plurality of sample points on the modeled object in a subsequent interreflective path, the simulated interreflective illumination comprising:
Accumulating radiance transfer from the inter-reflected illumination of the sample points in the plurality of directions tagged as causing occlusion to generate radiance transfer data for the sample points;
Repeating the interreflection path until the condition is met;
Summing the radiance transfer data accumulated in the first shadowing pass and the subsequent interreflection pass for a sample point to generate a total radiance transfer for the sample point. The method of claim 16 .
前記条件は、前記現在の相互反射パスの合計相互反射照明エネルギーがある閾値レベルを下回ることであることを特徴とする請求項16に記載の方法。The method of claim 16 , wherein the condition is that the total inter-reflection illumination energy of the current inter-reflection path is below a certain threshold level. 前記モデリングされたオブジェクトの拡散表面上のサンプリング点の放射輝度伝達データを、球面調和関数基底係数のベクトルとして表すことをさらに含むことを特徴とする請求項16に記載の方法。The method of claim 16 , further comprising representing radiance transfer data of sampling points on the diffusing surface of the modeled object as a vector of spherical harmonic basis coefficients. 前記モデリングされたオブジェクトの光沢表面上のサンプリング点の放射輝度伝達データを、球面調和関数基底係数の行列として表すことをさらに含むことを特徴とする請求項16に記載の方法。The method of claim 16 , further comprising representing radiance transfer data of sampling points on the glossy surface of the modeled object as a matrix of spherical harmonic basis coefficients. 幾何学的にモデリングされたオブジェクトの表面のコンピュータグラフィック画像をリアルタイムレンダリングする方法であって、
第1のコンピュータで行われる放射輝度伝達の事前計算段階で、
基準とする低周波数ライティング環境で前記モデリングされたオブジェクトの照明シミュレーションを行って前記モデリングされたオブジェクト上の複数のサンプル点の放射輝度伝達を計算するステップであって、前記シミュレーションは前記モデリングされたオブジェクトの自己シャドーイングおよび相互反射を取り入れるステップと、
前記モデリングされたオブジェクトの拡散表面上のサンプル点の場合に、前記計算された放射輝度伝達を球面調和関数基底係数の放射輝度伝達ベクトルとして記録するステップと、
前記モデリングされたオブジェクトの光沢表面上のサンプル点の場合に、前記計算した放射輝度伝達を球面調和関数基底係数の放射輝度伝達行列として記録するステップと、
第2のコンピュータで行われる画像レンダリング段階で、前記モデリングされたオブジェクトの画像をレンダリングするステップであって、前記レンダリングステップは、
レンダリング時のライティング環境で前記モデリングされたオブジェクトの光源光をサンプリングして、前記モデリングされたオブジェクト上の前記複数のサンプル点の球面調和関数基底係数の光源放射輝度ベクトルを得るステップと、
前記モデリングされたオブジェクトの拡散表面上のサンプル点の場合に、前記光源放射輝度ベクトルと前記放射輝度伝達ベクトルとのドット積を行ってあるビュー方向の出射放射輝度を得るステップと、
前記モデリングされたオブジェクトの光沢表面上のサンプル点の場合に、前記光源放射輝度ベクトル、前記放射輝度伝達行列、および前記光沢表面の双方向反射分布関数に基づいて、あるビュー方向についての出射放射輝度を求めるステップと、
前記複数のサンプル点個々の前記ビュー方向への前記出射放射輝度に基づいて、前記複数のサンプル点において前記モデリングされたオブジェクトをシェーディングするステップとを含むステップと
を含むことを特徴とする方法。
A method for real-time rendering of a computer graphic image of a surface of a geometrically modeled object comprising:
In the pre-computation stage of radiance transmission performed on the first computer,
Performing a lighting simulation of the modeled object in a reference low frequency lighting environment to calculate a radiance transfer of a plurality of sample points on the modeled object, the simulation comprising the modeled object Incorporating steps of self-shadowing and interreflection,
Recording the calculated radiance transfer as a radiance transfer vector of spherical harmonic basis coefficients for sample points on the diffusing surface of the modeled object;
Recording the calculated radiance transfer as a radiance transfer matrix of spherical harmonic basis coefficients for sample points on the glossy surface of the modeled object;
Rendering an image of the modeled object in an image rendering stage performed in a second computer, the rendering step comprising:
Sampling light source light of the modeled object in a lighting environment at the time of rendering to obtain a light source radiance vector of spherical harmonic basis coefficients of the plurality of sample points on the modeled object;
Obtaining an exit radiance in the view direction that is a dot product of the light source radiance vector and the radiance transfer vector for sample points on the diffusing surface of the modeled object;
For sample points on the glossy surface of the modeled object, the outgoing radiance for a view direction based on the light source radiance vector, the radiance transfer matrix, and the bidirectional reflection distribution function of the glossy surface A step of seeking
And shading the modeled object at the plurality of sample points based on the emitted radiance of the plurality of sample points in the view direction individually.
前記ビュー方向についての出射放射輝度を求めるステップが、
前記光源放射輝度ベクトルと前記放射輝度伝達行列を乗算することと、
前記光源放射輝度ベクトルと前記放射輝度伝達行列との積への前記光沢表面の双方向反射分布関数の畳み込みを前記ビュー方向について前記サンプル点で評価して、前記ビュー方向の出射放射輝度を得ることと
を含むことを特徴とする請求項2に記載の方法。
Determining an outgoing radiance for the view direction;
Multiplying the light source radiance vector by the radiance transfer matrix;
Evaluating the convolution of the glossy surface's bidirectional reflection distribution function to the product of the light source radiance vector and the radiance transfer matrix at the sample point for the view direction to obtain an exit radiance in the view direction the method of claim 2 2, characterized in that it comprises and.
第2のコンピュータで行われる画像レンダリング段階で、
ユーザコントロール下で前記レンダリング時のライティング環境を選択することと、
ユーザコントロールによって選択された各種のライティング環境について前記モデリングされたオブジェクトのさらなる画像をレンダリングすることと
をさらに含むことを特徴とする請求項2に記載の方法。
At the image rendering stage performed on the second computer,
Selecting a lighting environment for the rendering under user control;
The method of claim 2 2, characterized in that it further comprises a rendering further images of the modeled object for various lighting environments selected by the user control.
第2のコンピュータで行われる画像レンダリング段階で、
ユーザコントロール下で前記ビュー方向を変化させることと、
ユーザによってコントロールされる各種のビュー方向についての前記モデリングされたオブジェクトのさらなる画像をレンダリングすることと
をさらに含むことを特徴とする請求項2に記載の方法。
At the image rendering stage performed on the second computer,
Changing the view direction under user control;
The method of claim 2 2, characterized in that it further comprises a rendering further images of the modeled object for various view direction is controlled by the user.
オブジェクトの幾何学モデルを記憶するメモリと、
モデリングされたオブジェクト上の複数の位置のライティングの自己シャドーイングおよび相互反射をシミュレートして、複数の位置における、領域支持ライティング基底関数の線形結合に対するグローバル伝達効果を含む前記オブジェクトの放射反応を表す放射輝度伝達データを生成するイルミネーションシミュレータと、
前記放射輝度伝達データに基づいて、あるビューについてあるライティング環境で前記モデリングされたオブジェクトの前記複数の位置で放射輝度伝達を評価し、放射輝度伝達の評価に従ってシェーディングした前記モデリングされたオブジェクトの画像を生成するリアルタイム画像レンダリングエンジンと、
前記画像を提示する画像出力装置と
を備えることを特徴とするコンピュータグラフィック画像レンダリングシステム。
A memory for storing a geometric model of the object;
Simulate self-shadowing and interreflection of lighting at multiple locations on the modeled object to represent the radiation response of the object, including global transfer effects on linear combinations of region-supported lighting basis functions at multiple locations An illumination simulator that generates radiance transfer data;
Based on the radiance transfer data, evaluate a radiance transfer at the plurality of locations of the modeled object in a lighting environment for a view, and image the modeled object shaded according to the radiance transfer evaluation. A real-time image rendering engine to generate,
A computer graphic image rendering system comprising: an image output device for presenting the image.
前記放射輝度伝達データは、前記複数の位置における前記モデリングされたオブジェクトのソース放射輝度の出射放射輝度への伝達を表すことを特徴とする請求項26に記載のコンピュータグラフィック画像レンダリングシステム。27. The computer graphic image rendering system of claim 26 , wherein the radiance transfer data represents a transfer of a source radiance of the modeled object to an outgoing radiance at the plurality of locations. 前記放射輝度伝達データは、前記複数の位置における前記モデリングされたオブジェクトのソース輝度の伝達された光源放射輝度への伝達を表すことを特徴とする請求項26に記載のコンピュータグラフィック画像レンダリングシステム。27. The computer graphic image rendering system of claim 26 , wherein the radiance transfer data represents a transfer of a source brightness of the modeled object to a transmitted light source radiance at the plurality of locations. オブジェクトの幾何学モデルを記憶するメモリと、
前記オブジェクトによる自己シャドーイングと相互反射を含み、前記オブジェクトの表面上の複数の点において球面調和関数基底でパラメータ化された、基準とする低周波数ライティング環境に対する放射輝度反応を計算するイルミネーションシミュレータと、
前記球面調和関数基底でパラメータ化された前記複数の点における光源放射輝度を計算し、前記光源放射輝度と放射輝度反応を組み合わせる変換を処理してあるビューへの前記複数の点からの出射放射輝度を得て、前記ビューへの前記複数の点個々の出射放射輝度に従って前記複数の点で前記オブジェクトをシェーディングした前記オブジェクトの画像を生成するリアルタイム画像レンダリングエンジンと、
前記画像を提示する画像出力装置と
を備えることを特徴とするコンピュータグラフィック画像レンダリングシステム。
A memory for storing a geometric model of the object;
An illumination simulator for calculating a radiance response to a reference low frequency lighting environment, including self-shadowing and interreflection by the object, parameterized with a spherical harmonic basis at a plurality of points on the surface of the object;
Calculate the light source radiance at the points parameterized by the spherical harmonic basis and process the transformation combining the light source radiance and the radiance response to the exit radiance from the points to a view A real-time image rendering engine that generates an image of the object that is shaded of the object at the plurality of points according to an individual exit radiance of the plurality of points to the view;
A computer graphic image rendering system comprising: an image output device for presenting the image.
オブジェクトの幾何学モデルと、領域支持ライティング基底関数の線形結合として表された基準低周波数ライティング環境でシミュレートされた、前記オブジェクトによる自己シャドーイングおよび相互反射を含む前記オブジェクトの表面上の複数の点の放射輝度反応データとを記憶するメモリと、
前記複数の点における光源放射輝度を計算し、前記光源放射輝度と放射輝度反応を組み合わせる変換を処理してあるビューについての前記複数の点からの出射放射輝度を得て、前記ビューについての前記複数の点個々の出射放射輝度に従って前記複数の点で前記オブジェクトをシェーディングした前記オブジェクトの画像を生成するリアルタイム画像レンダリングエンジンと、
前記画像を提示する画像出力装置と
を備えることを特徴とするリアルタイムグラフィックレンダリングシステム。
Multiple points on the surface of the object, including self-shadowing and interreflection by the object, simulated in a reference low-frequency lighting environment expressed as a linear combination of the object's geometric model and a region-supported lighting basis function A memory for storing radiance response data of
Calculating a light source radiance at the plurality of points, obtaining an outgoing radiance from the plurality of points for the view being processed for a transformation combining the light source radiance and a radiance response; A real-time image rendering engine that generates an image of the object shaded at the plurality of points according to the individual exit radiance of the point;
A real-time graphic rendering system comprising: an image output device for presenting the image.
前記放射輝度反応データは球面調和関数基底でパラメータ化されることを特徴とする請求項3に記載のリアルタイムグラフィックレンダリングシステム。The real-time graphics rendering system according to claim 3 0 radiance response data, characterized in that it is parameterized by spherical harmonics basis. 前記光源放射輝度は球面調和関数基底でパラメータ化されることを特徴とする請求項3に記載のリアルタイムグラフィックレンダリングシステム。Real-time graphics rendering system according to claim 3 0 wherein the source radiance is characterized in that it is parameterized by spherical harmonics basis. オブジェクトの幾何学モデルおよび前記オブジェクト上の複数の点の放射輝度自己伝達反応を含むデータを処理して、それにより幾何学的にモデリングされたオブジェクトの画像をレンダリングするプログラムコードを担持するコンピュータ可読データ担持媒体であって、前記プログラムコードは、
領域支持ライティング基底関数の線形結合として表された基準低周波数ライティング環境で前記オブジェクトに近い1つまたは複数のサンプル点で光源ライティングを計算するプログラムコード手段と、
前記光源ライティングのデータと前記放射輝度自己伝達反応データを組み合わせて、あるビュー方向への前記オブジェクト上の前記点からの出射放射輝度を得るプログラムコード手段と
を備えることを特徴とするコンピュータ可読データ担持媒体。
Computer readable data carrying program code for processing data including a geometric model of the object and radiance self-transfer reactions of a plurality of points on the object, thereby rendering an image of the geometrically modeled object A carrier medium, wherein the program code is:
Program code means for calculating light source lighting at one or more sample points close to the object in a reference low frequency lighting environment expressed as a linear combination of region support lighting basis functions;
Computer readable data carrier comprising program code means for combining said light source lighting data and said radiance self-transmission response data to obtain exit radiance from said point on said object in a view direction Medium.
前記放射輝度自己伝達反応データは、前記オブジェクトの拡散表面上の点について、領域支持ライティング基底の放射輝度自己伝達反応ベクトルを含み、前記プログラムコードはさらに、前記オブジェクトの前記拡散表面上の前記点の場合に光源光ベクトルと前記放射輝度自己伝達反応ベクトルとのドット積を行って前記ビュー方向への前記オブジェクト上の前記点からの前記出射放射輝度を得るプログラムコード手段を備えることを特徴とする請求項3に記載のコンピュータ可読データ担持媒体。The radiance self-transfer response data includes a radiance self-transfer response vector of a region-supported lighting basis for points on the diffusing surface of the object, and the program code further includes the point of the point on the diffusing surface of the object. And a program code means for obtaining the emitted radiance from the point on the object in the view direction by performing a dot product of a light source light vector and the radiance self-transfer reaction vector. the computer-readable data carrying medium according to claim 3 3. 前記領域支持ライティング基底が球面調和関数の基底であることを特徴とする請求項3に記載のコンピュータ可読データ担持媒体。The computer-readable data carrying medium according to claim 3 4, characterized in that the region supporting lighting basis is a base of spherical harmonics. 前記放射輝度自己伝達反応データは、前記オブジェクトの光沢表面上の点について、球面調和関数基底の放射輝度自己伝達反応行列を含み、前記プログラムコードはさらに、前記オブジェクトの前記光沢表面上の前記点の場合に光源光ベクトル、前記放射輝度自己伝達反応行列、および双方向反射分布関数に基づいて、あるビュー方向への前記オブジェクト上の前記点からの前記出射放射輝度を求めるプログラムコード手段を備えることを特徴とする請求項3に記載のコンピュータ可読データ担持媒体。The radiance self-transfer response data includes a spherical harmonic-based radiance self-transfer response matrix for points on the glossy surface of the object, and the program code further includes the point of the points on the gloss surface of the object. Program code means for determining the exit radiance from the point on the object in a view direction based on a source light vector, the radiance self-transfer reaction matrix, and a bidirectional reflection distribution function. the computer-readable data carrying medium of claim 3 3, wherein. 前記出射放射輝度を求めることが、
光源光ベクトルと前記放射輝度自己伝達反応行列との行列ベクトル乗算を行い、前記行列ベクトル乗算の積に、前記ビュー方向について評価された双方向反射分布関数を畳み込んで、前記ビュー方向への前記オブジェクト上の前記点からの前記出射放射輝度を得ること
を備えることを特徴とする請求項36に記載のコンピュータ可読データ担持媒体。
Obtaining the exit radiance;
Matrix vector multiplication of the light source light vector and the radiance self-transfer reaction matrix is performed, and a bidirectional reflection distribution function evaluated for the view direction is convolved with a product of the matrix vector multiplication, so that the view direction is changed. 37. The computer readable data bearing medium of claim 36 , comprising obtaining the exit radiance from the point on an object.
前記出射放射輝度を求めることがさらに、
前記行列ベクトル乗算の積に、前記ビュー方向について評価した双方向反射分布関数を畳み込んで、前記ビュー方向への前記オブジェクト上の前記点からの前記出射放射輝度を得ること
を含むことを特徴とする請求項37に記載のコンピュータ可読データ担持媒体。
Determining the exit radiance;
Convolving a product of the matrix vector multiplications with a bi-directional reflection distribution function evaluated for the view direction to obtain the exit radiance from the point on the object in the view direction, 38. The computer readable data carrier medium of claim 37 .
前記放射輝度自己伝達反応データは放射輝度自己伝達反応行列を含み、前記プログラムコードはさらに、前記光源光ベクトルと前記放射輝度自己伝達反応行列との行列ベクトル乗算を行うことにより、あるビュー方向についての前記オブジェクト上の点からの前記出射放射輝度を求めるプログラムコード手段を備えることを特徴とする請求項3に記載のコンピュータ可読データ担持媒体。The radiance self-transfer response data includes a radiance self-transfer response matrix, and the program code further performs matrix vector multiplication of the light source light vector and the radiance self-transfer response matrix to obtain a view direction. the computer-readable data carrying medium of claim 3 3, characterized in that it comprises program code means for determining the exit radiance from a point on the object. 低周波数ライティング環境にあるモデリングされたオブジェクトのコンピュータグラフィック画像のレンダリングおよび表示に使用する前記ライティング環境の入射放射輝度フィールドを評価する、コンピュータによって行われる方法であって、
前記ライティング環境中のある点からの複数の方向における光源放射輝度の画像を生成するステップと、
画像を変換して、前記ライティング環境の前記点における前記光源放射輝度フィールドの領域支持ライティング基底関数の線形結合としての表現にするステップと、
前記ライティング環境でモデリングされたオブジェクトの画像をレンダリングする際に、ライティング基底表現を使用して前記点で前記モデリングされたオブジェクトをシェーディングするステップと、
前記ライティング環境にある前記モデリングされたオブジェクトの前記画像を視覚的に提示するステップと
を含むことを特徴とする方法。
A computer-implemented method for evaluating an incident radiance field of the lighting environment for use in rendering and displaying a computer graphic image of a modeled object in a low frequency lighting environment, comprising:
Generating an image of light source radiance in a plurality of directions from a point in the lighting environment;
Transforming an image into a representation as a linear combination of region support lighting basis functions of the light source radiance field at the point of the lighting environment;
Shading the modeled object with the points using a lighting basis representation in rendering an image of the modeled object in the lighting environment;
Visually presenting the image of the modeled object in the lighting environment.
前記ライティング基底表現が球面調和関数基底表現であることを特徴とする請求項4に記載の方法。The method of claim 4 0, characterized in that said lighting basis representation is spherical harmonics basis representation. コンピュータ上でグラフィックハードウェアを使用して、動的なシーン内のモデリングされたオブジェクトのコンピュータグラフィック画像のレンダリングおよび表示に使用する放射輝度サンプルを前記動的なシーン内でライティング環境を用いて取り込む方法であって、
領域支持ライティング基底関数を表す、事前に計算されたテクスチャ画像のセットを記憶するステップと、
前記グラフィックハードウェアで、前記動的なシーン中のサンプル点から画像のセットをレンダリングするステップであって、前記画像が前記動的シーンの前記ライティング環境からのソース光を表すステップと、
前記グラフィックハードウェアで、光源光画像のセットおよび前記事前に計算されたテクスチャ画像セットの関数として光源放射輝度を前記サンプル点で射影して、前記サンプル点における前記ソース放射輝度を前記領域支持ライティング基底に得るステップと、
前記ライティング環境でモデリングされたオブジェクトの画像をレンダリングする際に、前記サンプル点の前記光源放射輝度を使用して前記点で前記モデリングされたオブジェクトをシェーディングするステップと、
前記ライティング環境にある前記モデリングされたオブジェクトの前記画像を視覚的に提示するステップと
を含むことを特徴とする方法。
Method of capturing radiance samples for use in rendering and displaying computer graphic images of modeled objects in a dynamic scene using graphics hardware on a computer using the lighting environment in the dynamic scene Because
Storing a pre-computed set of texture images representing region support lighting basis functions;
Rendering, with the graphics hardware, a set of images from sample points in the dynamic scene, wherein the images represent source light from the lighting environment of the dynamic scene;
Projecting light source radiance at the sample points as a function of a set of source light images and the pre-calculated texture image set at the graphics hardware, and the source radiance at the sample points is the region support lighting. Getting to the base,
Shading the modeled object at the points using the light source radiance of the sample points in rendering an image of the modeled object in the lighting environment;
Visually presenting the image of the modeled object in the lighting environment.
前記事前に計算されたテクスチャ画像は、球面調和関数(SH)の基底関数のセットを表すことを特徴とする請求項4に記載の方法。The pre-computed texture image A method according to claim 4 2, characterized in that represent a set of basis functions of spherical harmonic (SH). 前記球面調和関数の基底関数のセットは、差分立体角で重みをつけ、前記角度のキューブマップ球面パラメータ化を介して評価されることを特徴とする請求項4に記載の方法。Wherein the set of basis functions of spherical harmonics method of claim 4 3, the difference solid angle weighted, characterized in that it is evaluated through the cube map spherical parameterization of the angle. 前記レンダリングされた画像が、前記動的シーンの低周波数ライティング環境からの光源光のキューブマップ球面パラメータ化の面に対応することを特徴とする請求項4に記載の方法。The method according to claim 4 2, wherein the rendered image, characterized in that corresponding to the face of the cube map sphere parameters of the light source light from the low-frequency lighting environment of the dynamic scene. コンピュータ上でグラフィックハードウェアを使用して、動的なシーン内のモデリングされたオブジェクトのコンピュータグラフィック画像のレンダリングおよび表示に使用する放射輝度サンプルを前記動的なシーン内でライティング環境を用いて取り込む方法であって、
差分立体角によって重みを付け、前記角度のキューブマップ球面パラメータ化を介して評価された球面調和関数(SH)基底関数のセットについて事前に計算されたテクスチャ画像のセットを記憶するステップと、
前記グラフィックハードウェアで、前記動的シーン内のサンプル点から画像のセットをレンダリングするステップであって、前記画像が前記動的シーンの低周波数ライティング環境からの光源光のキューブマップ球面パラメータ化の面に対応するステップと、
前記グラフィックハードウェアで、光源光画像のセットと前記SH基底関数テクスチャ画像のセットとのドット積として、前記サンプル点の前記光放射輝度を球面調和関数係数に射影して、前記サンプル点における光源放射輝度を前記SH基底に得るステップと、
前記ライティング環境でモデリングされたオブジェクトの画像をレンダリングする際に、前記サンプル点における前記SH基底の前記光放射輝度を使用して前記点で前記モデリングされたオブジェクトをシェーディングするステップと、
前記ライティング環境の前記モデリングされたオブジェクトの前記画像を視覚的に提示するステップと
を含むことを特徴とする方法。
Method of capturing radiance samples for use in rendering and displaying computer graphic images of modeled objects in a dynamic scene using graphics hardware on a computer using the lighting environment in the dynamic scene Because
Storing a set of texture images pre-computed for a set of spherical harmonic (SH) basis functions weighted by a difference solid angle and evaluated via a cube map spherical parameterization of said angle;
Rendering a set of images from sample points in the dynamic scene with the graphics hardware, wherein the image is a cube map spherical parameterization surface of source light from the low frequency lighting environment of the dynamic scene Steps corresponding to
The graphic hardware projects the light radiance of the sample point to a spherical harmonic function coefficient as a dot product of the set of light source light images and the set of SH basis function texture images, and emits light source at the sample points. Obtaining luminance on the SH basis;
Shading the modeled object at the point using the light radiance of the SH basis at the sample point in rendering an image of the modeled object in the lighting environment;
Visually presenting the image of the modeled object of the lighting environment.
前記動的なシーン内の空間的に異なる複数のサンプル点についてレンダリングおよび射影の動作を繰り返すことをさらに含むことを特徴とする請求項46に記載の方法。The method of claim 46 , further comprising repeating rendering and projecting operations for a plurality of spatially different sample points in the dynamic scene. SH係数への射影の前に、前記光源光画像のスーパーサンプリングとボックスフィルタデシメーションをさらに含み、それによりエイリアシングを低減することを特徴とする請求項46に記載の方法。47. The method of claim 46 , further comprising supersampling and box filter decimation of the source light image prior to projection to SH coefficients, thereby reducing aliasing. SH係数への射影の前に、前記SH基底関数テクスチャ画像のスーパーサンプリングとボックスフィルタデシメーションをさらに含むことを特徴とする請求項46に記載の方法。The method of claim 46 , further comprising supersampling and box filter decimation of the SH basis function texture image prior to projection onto SH coefficients. グラフィックレンダリングのコンピュータシステムであって、
差分立体角によって重みを付け、前記角度のキューブマップ球面パラメータ化を介して評価された球面調和関数(SH)の基底関数のセットについて事前に計算されたテクスチャ画像のセットを記憶するメモリと、
あるライティング環境を有する動的シーン内のサンプル点から画像のセットをレンダリングするように動作するグラフィック処理ボードであって、前記画像は、前記動的シーンの前記ライティング環境からの光源光のキューブマップ球面パラメータ化の面に対応し、さらに、光源光画像のセットと前記SH基底関数テクスチャ画像のセットとのドット積として、前記サンプル点における光源放射輝度を球面調和関数係数に射影して前記サンプル点の前記光源放射輝度を前記SH基底に得るように動作するグラフィック処理ボードと、
前記ライティング環境でモデリングされたオブジェクトの画像をレンダリングする際に、前記サンプル点における前記SH基底の前記光源放射輝度を使用して前記点で前記モデリングされたオブジェクトをシェーディングするように動作するリアルタイム画像レンダリングエンジンを実行するシステムプロセッサと、
前記画像を提示する画像出力装置と
を備えることを特徴とするシステム。
A computer system for graphic rendering,
Memory storing a set of texture images pre-computed for a set of basis functions of spherical harmonics (SH) weighted by a difference solid angle and evaluated via a cube map spherical parameterization of said angle;
A graphics processing board that operates to render a set of images from sample points in a dynamic scene having a lighting environment, the image being a cube-map sphere of light source light from the lighting environment of the dynamic scene Corresponding to the parameterization surface, and further, as a dot product of the set of the light source light image and the set of the SH basis function texture image, the light source radiance at the sample point is projected onto a spherical harmonic function coefficient to A graphics processing board that operates to obtain the light source radiance at the SH base;
Real-time image rendering that operates to shade the modeled object at the point using the light source radiance of the SH basis at the sample point when rendering an image of the modeled object in the lighting environment A system processor running the engine;
A system comprising: an image output device that presents the image.
コンピュータのグラフィックハードウェアを使用して、動的なシーン内にあるモデリングされたオブジェクトのコンピュータグラフィック画像のレンダリングおよび表示に用いられる放射輝度サンプルを前記シーン内でライティング環境を用いて取り込むプログラムコードを担持するコンピュータ可読データ担持媒体であって、前記プログラムコードは、
前記グラフィックハードウェアに、前記動的なシーン中のサンプル点から画像のセットをレンダリングさせ、前記画像が、前記動的シーンの低周波数ライティング環境からの光源光のキューブマップ球面パラメータ化の面に対応するプログラムコード手段と、
前記グラフィックハードウェアに、光源光画像のセットと、差分立体角によって重みを付け前記角度のキューブマップ球面パラメータ化を介して評価された球面調和関数(SH)基底関数のセットについて事前に計算されたSH基底関数テクスチャ画像のセットとのドット積として、前記サンプル点における入射放射輝度を球面調和関数係数に射影させて、前記サンプル点の前記入射放射輝度を前記SH基底に得させるプログラムコード手段と、
前記ライティング環境でモデリングされたオブジェクトの画像をレンダリングする際に、前記サンプル点における前記SH基底の前記入射放射輝度を使用して前記点において前記モデリングされたオブジェクトをシェーディングするプログラムコード手段と、
前記ライティング環境で前記モデリングされたオブジェクトの前記画像を視覚的に提示するプログラムコード手段と
を備えることを特徴とするコンピュータ可読データ担持媒体。
Uses computer graphics hardware to carry program code that captures radiance samples used to render and display computer graphic images of modeled objects in a dynamic scene using a lighting environment in the scene A computer-readable data carrier medium, wherein the program code is
Let the graphics hardware render a set of images from sample points in the dynamic scene, the image corresponding to the cube map spherical parameterization surface of the source light from the low frequency lighting environment of the dynamic scene Program code means to
The graphic hardware was pre-computed for a set of source light images and a set of spherical harmonic (SH) basis functions weighted by the difference solid angle and evaluated via cube map spherical parameterization of the angles. Program code means for projecting the incident radiance at the sample point onto a spherical harmonic function coefficient as a dot product with a set of SH basis function texture images to obtain the incident radiance of the sample point on the SH basis;
Program code means for shading the modeled object at the point using the incident radiance of the SH basis at the sample point when rendering an image of the modeled object in the lighting environment;
A computer readable data bearing medium comprising program code means for visually presenting the image of the modeled object in the writing environment.
ボリュームモデルのコンピュータグラフィック画像のリアルタイムレンダリングおよび表示に使用する放射輝度自己伝達データを生成する、コンピュータによって行われる方法であって、
照明を当てたボリューム上のライティングの自己シャドーイングおよび相互反射をシミュレートして、前記ボリュームモデルの複数のボリューム要素についての、領域支持ライティング基底関数の線形結合に対するグローバル伝達効果を含む放射輝度反応を表す放射輝度伝達データを生成するステップと、
前記放射輝度伝達データに基づいて、あるビューについてあるライティング環境で前記複数のボリューム要素の放射輝度伝達を評価するステップと、
前記放射輝度伝達の評価に従ってシェーディングした前記ボリュームモデルの画像を生成するステップと
を含むことを特徴とする方法。
A computer-implemented method for generating radiance self-transmitted data for use in real-time rendering and display of a computer graphic image of a volume model comprising:
Simulate lighting self-shadowing and interreflection on illuminated volumes to produce radiance responses including global transfer effects for linear combinations of region-supported lighting basis functions for multiple volume elements of the volume model Generating radiance transfer data representing;
Evaluating radiance transfer of the plurality of volume elements in a lighting environment for a view based on the radiance transfer data;
Generating an image of the volume model shaded according to the evaluation of the radiance transfer.
ボリュームモデルのコンピュータグラフィック画像のリアルタイムレンダリングおよび表示に使用する放射輝度自己伝達データを生成する、コンピュータによって行われる方法であって、
領域支持ライティング基底関数の線形結合として表された基準低周波数ライティング環境についてボリュームにグローバルイルミネーションシミュレーションを行うステップであって、前記シミュレーションは、前記ボリュームモデルの複数のボリューム要素について放射輝度伝達を計算し、前記シミュレーションは前記ボリュームモデルの自己シャドーイングおよび相互反射を取り入れるステップと、
前記ボリュームモデル上の放射輝度伝達をレンダリングして前記ボリュームモデルのグラフィック画像を生成する際に用いるために、前記複数のボリューム要素についてのグローバルイルミネーションシミュレーションを、前記基底関数の係数の線形変換として記録するステップと
を含むことを特徴とする方法。
A computer-implemented method for generating radiance self-transmitted data for use in real-time rendering and display of a computer graphic image of a volume model comprising:
Performing global illumination simulation on the volume for a reference low frequency lighting environment expressed as a linear combination of region-supported lighting basis functions, the simulation calculating radiance transfer for a plurality of volume elements of the volume model; The simulation incorporates self-shadowing and interreflection of the volume model;
A global illumination simulation for the plurality of volume elements is recorded as a linear transformation of the basis function coefficients for use in rendering a radiance transfer on the volume model to generate a graphic image of the volume model. A method comprising the steps of:
前記基準低周波数ライティング環境を光源光の球面の球面調和関数基底の射影としてパラメータ化することを特徴とする請求項5に記載の方法。The method of claim 3, characterized in that parameterizing the reference low-frequency lighting environment as a projection of spherical harmonics basis of the spherical surface of the source light. 前記グローバルイルミネーションシミュレーションを複数のパスで前記ボリュームモデルに行うステップと、
最初のシャドーイングパスで、前記ボリュームモデルを貫通する経路に沿った減衰を含む、前記基準低周波数ライティング環境にある前記ボリュームモデルの複数のボリューム要素の直接照明をシミュレートするステップと、
続く相互反射パスで、前記ボリュームモデルを貫通する減衰を含む、前記ボリュームモデルの他のボリューム要素による前記ボリュームモデルの前記ボリューム要素の相互反射照明をシミュレートするステップと、
条件が満たされるまで相互反射パスを反復するステップと、
あるサンプル点について、前記最初のシャドーイングパスと続く相互反射パスで累積された放射輝度伝達データを合計して、前記サンプル点における合計放射輝度伝達を生成するステップと
を含むことを特徴とする請求項5に記載の方法。
Performing the global illumination simulation on the volume model in multiple passes;
Simulating direct illumination of a plurality of volume elements of the volume model in the reference low frequency lighting environment including attenuation along a path through the volume model in a first shadowing path;
Simulating the interreflective illumination of the volume element of the volume model by other volume elements of the volume model including attenuation through the volume model in a subsequent interreflection path;
Repeating the interreflection path until the condition is met;
Summing the radiance transfer data accumulated in the first shadowing pass and the subsequent interreflection pass for a sample point to generate a total radiance transfer at the sample point. the method according to claim 3.
ボリュームモデルのコンピュータグラフィック画像をリアルタイムレンダリングするコンピュータグラフィック画像レンダリングシステムであって、
ボリュームモデルを記憶するメモリと、
基準とするライティング環境で照明を当てた前記ボリュームモデルの複数のボリューム要素にライティングの自己シャドーイングおよび相互反射をシミュレートして、前記ボリュームモデルの前記ボリューム要素の光源光から出射光への放射輝度伝達を表すデータを生成するイルミネーションシミュレータと、
前記放射輝度伝達データに基づいて、あるビュー方向について第2のライティング環境で前記ボリュームモデルの前記ボリューム要素で放射輝度伝達を評価し、前記放射輝度伝達の評価に従ってシェーディングした前記ボリュームモデルの画像を生成するリアルタイム画像レンダリングエンジンと、
前記画像を提示する画像出力装置と
を備えることを特徴とするシステム。
A computer graphic image rendering system for real-time rendering of a computer graphic image of a volume model,
Memory to store the volume model;
Simulating lighting self-shadowing and inter-reflection on a plurality of volume elements of the volume model illuminated in a reference lighting environment, so that the radiance from the light source light to the emitted light of the volume elements of the volume model An illumination simulator that generates data representing the transmission,
Based on the radiance transfer data, evaluate the radiance transfer with the volume element of the volume model in a second lighting environment for a view direction, and generate an image of the volume model shaded according to the evaluation of the radiance transfer A real-time image rendering engine to
A system comprising: an image output device that presents the image.
プログラムを担持したコンピュータ可読プログラム担持媒体であって、前記プログラムはコンピュータで実行して、ボリュームモデルのコンピュータグラフィック画像のリアルタイムレンダリングおよび表示に使用する放射輝度自己伝達データを生成する方法を行うことができ、前記方法は、
光源光の球面の球面調和関数基底の射影としてパラメータ化された基準低周波数ライティング環境についてボリュームにグローバルイルミネーションシミュレーションを行うステップであって、前記射影は球面調和関数の係数を有し、前記シミュレーションは、前記ボリュームモデルの複数のボリューム要素の放射輝度伝達を計算し、前記シミュレーションは前記ボリュームモデルの自己シャドーイングおよび相互反射を取り入れるステップと、
前記ボリュームモデル上の放射輝度伝達をレンダリングして前記ボリュームモデルのグラフィック画像を生成する際に用いるために、前記複数のボリューム要素に対する前記グローバルイルミネーションシミュレーションを前記光源光の前記球面調和関数係数の線形変換として記録するステップと
を含むことを特徴とする媒体。
A computer-readable program-carrying medium carrying a program, wherein the program can be executed by a computer to perform a method for generating radiance self-transmitted data for use in real-time rendering and display of a computer graphic image of a volume model The method
Performing a global illumination simulation on the volume for a reference low frequency lighting environment parameterized as a projection of the spherical harmonic basis of the spherical surface of the source light, the projection having a spherical harmonic coefficient, the simulation comprising: Calculating radiance transfer of a plurality of volume elements of the volume model, wherein the simulation incorporates self-shadowing and interreflection of the volume model;
The global illumination simulation for the plurality of volume elements is linearly transformed to the spherical harmonic function coefficients of the source light for use in rendering a radiance transfer on the volume model to generate a graphic image of the volume model. And recording as a medium.
前記方法はさらに、
前記グローバルイルミネーションシミュレーションを複数のパスで前記ボリュームモデルに行うステップと、
最初のシャドーイングパスで、前記ボリュームモデルを貫通する経路に沿った減衰を含む、前記基準低周波数ライティング環境にある前記ボリュームモデルの複数のボリューム要素の直接照明をシミュレートするステップと、
続く相互反射パスで、前記ボリュームモデルを貫通する減衰を含む、前記ボリュームモデルの他のボリューム要素による前記ボリュームモデルの前記ボリューム要素の相互反射照明をシミュレートするステップと、
条件が満たされるまで相互反射パスを反復するステップと、
あるサンプル点について、前記最初のシャドーイングパスと続く相互反射パスで累積された前記放射輝度伝達データを合計して、前記サンプル点の合計放射輝度伝達を生成するステップと
を含むことを特徴とする請求項57に記載の媒体。
The method further includes:
Performing the global illumination simulation on the volume model in multiple passes;
Simulating direct illumination of a plurality of volume elements of the volume model in the reference low frequency lighting environment including attenuation along a path through the volume model in a first shadowing path;
Simulating the interreflective illumination of the volume element of the volume model by other volume elements of the volume model including attenuation through the volume model in a subsequent interreflection path;
Repeating the interreflection path until the condition is met;
Summing the radiance transfer data accumulated in the first shadowing pass and the subsequent interreflection pass for a sample point to generate a total radiance transfer for the sample point. 58. The medium of claim 57 .
プログラムを担持したコンピュータ可読プログラム担持媒体であって、前記プログラムはコンピュータで実行してボリュームモデルのコンピュータグラフィック画像のリアルタイムレンダリングの方法を行うことができ、前記方法は、
あるライティング環境で少なくとも1つのサンプリング点の光源ライティングデータを計算するステップと、
前記ボリュームモデルの複数のボリューム要素について事前に計算された放射輝度伝達データに従って、前記計算された光源ライティングデータに線形変換を行って、あるビュー方向についての前記ボリューム要素からの出射放射輝度のデータを得るステップであって、前記放射輝度伝達データは、前記ボリュームモデルの前記ボリューム要素の領域支持ライティング基底関数の線形結合に対するグローバル伝達効果を含む放射輝度反応を表すステップと、
前記位置からの前記出射放射輝度に従ってシェーディングした、前記ライティング環境における前記ビューについての前記モデリングされたオブジェクトの画像を生成するステップと
を含むことを特徴とするコンピュータ可読プログラム担持媒体。
A computer-readable program-carrying medium carrying a program, wherein the program can be executed by a computer to perform a method of real-time rendering of a computer graphic image of a volume model, the method comprising:
Calculating light source lighting data for at least one sampling point in a lighting environment;
According to radiance transfer data calculated in advance for a plurality of volume elements of the volume model, linear conversion is performed on the calculated light source lighting data to obtain emission radiance data from the volume element for a certain view direction. The radiance transfer data represents a radiance response including a global transfer effect on a linear combination of area support lighting basis functions of the volume elements of the volume model; and
Generating the image of the modeled object for the view in the lighting environment, shaded according to the exit radiance from the location.
前記方法はさらに、
事前計算として、光源光の球面の球面調和関数基底の射影としてパラメータ化された基準低周波数ライティング環境について前記ボリュームにグローバルイルミネーションシミュレーションを行うステップであって、前記射影は球面調和関数の係数を有し、前記シミュレーションは、前記ボリュームモデルの複数のボリューム要素の放射輝度伝達を計算し、前記シミュレーションは前記ボリュームモデルの自己シャドーイングおよび相互反射を取り入れるステップと、
前記複数のボリューム要素に対する前記グローバルイルミネーションシミュレーションを前記光源光の前記球面調和関数の係数の線形変換として記録して、前記放射輝度伝達データを形成するステップと
を含むことを特徴とする請求項59に記載のコンピュータ可読プログラム担持媒体。
The method further includes:
As a pre-calculation, performing a global illumination simulation on the volume for a reference low frequency lighting environment parameterized as a projection of a spherical harmonic basis of a spherical surface of the source light, the projection having a spherical harmonic coefficient The simulation calculates radiance transfer of a plurality of volume elements of the volume model, the simulation taking into account the self-shadowing and interreflection of the volume model;
Wherein the plurality of the global illumination simulation for the volume elements recorded as linear transformation coefficients of the spherical harmonic of the source light, to claim 59, characterized in that it comprises the steps of forming the radiance transfer data The computer-readable program carrier medium described.
前記方法はさらに、
前記グローバルイルミネーションシミュレーションを複数のパスで前記ボリュームモデルに行うステップと、
最初のシャドーイングパスで、前記ボリュームモデルを貫通する経路に沿った減衰を含む、前記基準低周波数ライティング環境にある前記ボリュームモデルの複数のボリューム要素の直接照明をシミュレートするステップと、
続く相互反射パスで、前記ボリュームモデルを貫通する減衰を含む、前記ボリュームモデルの他のボリューム要素による前記ボリュームモデルの前記ボリューム要素の相互反射照明をシミュレートするステップと、
条件が満たされるまで相互反射パスを反復するステップと、
あるサンプル点について、前記最初のシャドーイングパスと続く相互反射パスで累積された前記放射輝度伝達データを合計して、前記サンプル点の合計放射輝度伝達を生成するステップと
を含むことを特徴とする請求項6に記載のコンピュータ可読プログラム担持媒体。
The method further includes:
Performing the global illumination simulation on the volume model in multiple passes;
Simulating direct illumination of a plurality of volume elements of the volume model in the reference low frequency lighting environment including attenuation along a path through the volume model in a first shadowing path;
Simulating the interreflective illumination of the volume element of the volume model by other volume elements of the volume model including attenuation through the volume model in a subsequent interreflection path;
Repeating the interreflection path until the condition is met;
Summing the radiance transfer data accumulated in the first shadowing pass and the subsequent interreflection pass for a sample point to generate a total radiance transfer for the sample point. computer readable program carrying medium of claim 6 0.
モデリングされたオブジェクトを含むシーン内のモデリングされた対象物のコンピュータグラフィック画像をリアルタイムレンダリングするコンピュータグラフィック画像レンダリングシステムであって、
前記対象物およびオブジェクトのモデルを記憶するメモリと、
基準とするライティング環境で照明を当てた前記モデリングされたオブジェクト周辺の近接空間内の複数のサンプル点についてライティングの自己シャドーイングおよび相互反射をシミュレートして、前記モデリングされたオブジェクトからの前記複数のサンプル点に対する光源光から転送入射光への放射輝度伝達を表すデータを生成するイルミネーションシミュレータと、
前記放射輝度伝達データに基づいて、あるビューについて第2のライティング環境で前記モデリングされたオブジェクトから前記モデリングされた対象物への放射輝度伝達を前記複数のサンプル点で評価し、前記放射輝度伝達の評価に従ってシェーディングした前記モデリングされた対象物の画像を生成するリアルタイム画像レンダリングエンジンと、
前記画像を提示する画像出力装置と
を備えることを特徴とするシステム。
A computer graphic image rendering system for real-time rendering of a computer graphic image of a modeled object in a scene containing modeled objects,
A memory for storing the object and a model of the object;
Simulating lighting self-shadowing and interreflection for a plurality of sample points in the near space around the modeled object illuminated in a reference lighting environment, and the plurality of samples from the modeled object An illumination simulator for generating data representing radiance transmission from the light source light to the transfer incident light for the sample point;
Based on the radiance transfer data, a radiance transfer from the modeled object to the modeled object in a second lighting environment for a view is evaluated at the plurality of sample points, and the radiance transfer of A real-time image rendering engine for generating an image of the modeled object shaded according to the evaluation;
A system comprising: an image output device that presents the image.
シーン内のモデリングされた対象物のコンピュータグラフィック画像のリアルタイムレンダリングおよび表示に使用する放射輝度伝達データを前記シーン内のモデリングされたオブジェクトから生成する方法を実行するようにコンピュータをプログラムするプログラムを担持するコンピュータ可読プログラム担持媒体であって、前記方法は、
基底関数の線形結合として表された基準低周波数ライティング環境で前記モデリングされたオブジェクトにグローバルイルミネーションシミュレーションを行うステップであって、前記シミュレーションは、前記モデリングされたオブジェクト周辺の近接空間中の複数のサンプル点の放射輝度伝達を計算し、前記シミュレーションは、前記モデリングされたオブジェクトから前記複数のサンプル点に投じられる自己シャドーイングおよび相互反射を取り入れるステップと、
前記ボリュームモデル上の放射輝度伝達をレンダリングして前記ボリュームモデルのグラフィック画像を生成する際に使用するために、前記複数のサンプル点に対する前記グローバルイルミネーションシミュレーションを、前記基底関数の係数の線形変換として記録するステップと
を含むことを特徴とするコンピュータ可読プログラム担持媒体。
The program to program a computer to perform a method of generating a radiance Doden who data used for real-time rendering and display of modeled objects computer graphic image in the scene from the modeled object in the scene A computer readable program carrying medium for carrying, the method comprising:
Performing a global illumination simulation on the modeled object in a reference low frequency lighting environment represented as a linear combination of basis functions, the simulation comprising a plurality of sample points in a close space around the modeled object Calculating the radiance transfer of the self-shadowing and interreflection reflected from the modeled object to the plurality of sample points;
The global illumination simulation for the plurality of sample points is recorded as a linear transformation of the basis function coefficients for use in rendering a radiance transfer on the volume model to generate a graphic image of the volume model. And a computer-readable program carrying medium.
前記方法は、
前記グローバルイルミネーションシミュレーションを複数のパスで前記モデリングされたオブジェクトに行うステップと、
最初のシャドーイングパスで、前記モデリングされたオブジェクトからの前記複数のサンプル点のシャドーイングを含む、前記基準低周波数ライティング環境内の前記モデリングされたオブジェクト周辺の前記近接空間内で前記複数のサンプル点の直接照明をシミュレートするステップと、
続く相互反射パスで、前記モデリングされたオブジェクトからの前記モデリングされたオブジェクト周辺の前記近接空間内の前記複数のサンプル点の反射照明をシミュレートするステップと、
条件が満たされるまで相互反射パスを反復するステップと、
あるサンプル点について、前記最初のシャドーイングパスと続く相互反射パスで累積された前記放射輝度伝達データを合計して、前記サンプル点の合計放射輝度伝達を生成するステップと
を含むことを特徴とする請求項63に記載のコンピュータ可読プログラム担持媒体。
The method
Performing the global illumination simulation on the modeled object in multiple passes;
The plurality of sample points in the near space around the modeled object in the reference low frequency lighting environment, including a shadowing of the plurality of sample points from the modeled object in a first shadowing pass Simulating direct lighting of
Simulating reflected illumination of the plurality of sample points in the near space around the modeled object from the modeled object in a subsequent interreflection path;
Repeating the interreflection path until the condition is met;
Summing the radiance transfer data accumulated in the first shadowing pass and the subsequent interreflection pass for a sample point to generate a total radiance transfer for the sample point. 64. A computer-readable program carrying medium according to claim 63 .
線形変換としての前記複数のサンプル点の前記グローバルイルミネーションシミュレーションの記録は、前記モデリングされたオブジェクトを中心とする3次元グリッド内の複数の点についての伝達行列の形であることを特徴とする請求項64に記載のコンピュータ可読プログラム担持媒体。The global illumination simulation record of the plurality of sample points as a linear transformation is in the form of a transfer matrix for a plurality of points in a three-dimensional grid centered on the modeled object. 64. A computer-readable program carrying medium according to 64 .
JP2003081431A 2002-03-21 2003-03-24 Graphic image rendering using radiance self-transmission in a low-frequency lighting environment Expired - Fee Related JP4343564B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US36692002P 2002-03-21 2002-03-21
US60/366,920 2002-03-21

Publications (2)

Publication Number Publication Date
JP2003296750A JP2003296750A (en) 2003-10-17
JP4343564B2 true JP4343564B2 (en) 2009-10-14

Family

ID=28791884

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003081431A Expired - Fee Related JP4343564B2 (en) 2002-03-21 2003-03-24 Graphic image rendering using radiance self-transmission in a low-frequency lighting environment

Country Status (3)

Country Link
JP (1) JP4343564B2 (en)
CN (2) CN1307548C (en)
TW (1) TWI303791B (en)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8009168B2 (en) * 2007-06-26 2011-08-30 Microsoft Corporation Real-time rendering of light-scattering media
US8190403B2 (en) 2007-06-26 2012-05-29 Microsoft Corporation Real-time rendering of light-scattering media
US7990377B2 (en) 2007-06-26 2011-08-02 Microsoft Corporation Real-time rendering of light-scattering media
US7940268B2 (en) 2007-06-29 2011-05-10 Microsoft Corporation Real-time rendering of light-scattering media
US7940269B2 (en) 2007-06-29 2011-05-10 Microsoft Corporation Real-time rendering of light-scattering media
CN101383052B (en) * 2008-01-16 2012-05-23 清华大学 Dynamic scene real-time drawing method based on spherical segment constant base function
US9336624B2 (en) * 2008-10-07 2016-05-10 Mitsubishi Electric Research Laboratories, Inc. Method and system for rendering 3D distance fields
KR101906142B1 (en) * 2012-01-17 2018-12-07 삼성전자주식회사 Image processing apparatus and method
DE102014105146B4 (en) * 2013-04-22 2021-11-04 Nvidia Corporation System, method and computer program product for performing path-space filtering
US9953457B2 (en) 2013-04-22 2018-04-24 Nvidia Corporation System, method, and computer program product for performing path space filtering
WO2015166684A1 (en) 2014-04-30 2015-11-05 ソニー株式会社 Image processing apparatus and image processing method
GB201414144D0 (en) * 2014-08-08 2014-09-24 Imagination Tech Ltd Relightable texture for use in rendering an image
CN110310224B (en) * 2019-07-04 2023-05-30 北京字节跳动网络技术有限公司 Light effect rendering method and device
JP7378997B2 (en) * 2019-07-22 2023-11-14 キヤノン株式会社 Information processing device, information processing method and program
CN111915712B (en) * 2020-08-28 2024-05-28 网易(杭州)网络有限公司 Illumination rendering method and device, computer readable medium and electronic equipment
WO2023095212A1 (en) * 2021-11-24 2023-06-01 日本電信電話株式会社 Multi-viewpoint image generation device, method, and program
CN116485984B (en) * 2023-06-25 2024-05-31 深圳元戎启行科技有限公司 Global illumination simulation method, device, equipment and medium for panoramic image vehicle model

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5297288A (en) * 1989-11-28 1994-03-22 United States Biochemical Corporation System for use with a high resolution scanner for scheduling a sequence of software tools for determining the presence of bands in DNA sequencing samples
JPH08297692A (en) * 1994-09-16 1996-11-12 Mitsubishi Electric Corp Device and method for correcting optical proximity, and pattern forming method
JP2000020745A (en) * 1998-07-03 2000-01-21 Hitachi Ltd Method and device for displaying three-dimensional digital data by tensol rendering

Also Published As

Publication number Publication date
CN1450456A (en) 2003-10-22
TWI303791B (en) 2008-12-01
JP2003296750A (en) 2003-10-17
TW200307225A (en) 2003-12-01
CN1991916B (en) 2010-06-23
CN1307548C (en) 2007-03-28
CN1991916A (en) 2007-07-04

Similar Documents

Publication Publication Date Title
US7609265B2 (en) Graphics image rendering with radiance self-transfer for low-frequency lighting environments
JP4343564B2 (en) Graphic image rendering using radiance self-transmission in a low-frequency lighting environment
Engel et al. Real-time volume graphics
d'Eon et al. Efficient rendering of human skin
Lensch et al. Interactive rendering of translucent objects
JP4705357B2 (en) System and method for robust sampling for real-time relighting of objects in a natural lighting environment
JP3972784B2 (en) Image processing apparatus and method
Lambru et al. Comparative analysis of real-time global illumination techniques in current game engines
Hadwiger et al. High-quality volume graphics on consumer pc hardware
Koster et al. Real-time rendering of human hair using programmable graphics hardware
Loviscach Complex water effects at interactive frame rates
François et al. Subsurface texture mapping
KR100932830B1 (en) Graphic Image Rendering Using Radiated Magnetic Transmission in Low Frequency Lighting Environments
Kautz Hardware lighting and shading: a survey
Slomp et al. A gentle introduction to precomputed radiance transfer
Favorskaya et al. Lighting and shadows rendering in natural scenes
Nijasure Interactive global illumination on the graphics processing unit
Lee et al. Template-based scattering illumination for volumetric dataset
Bako Deep Learning for Variance Reduction in Monte Carlo Rendering
Steigleder Pencil light transport
Chekhmestruk et al. Method for calculating the reflection function of global illumination with perturbation functions
Engelhardt Efficient From-Point Visibility for Global Illumination in Virtual Scenes with Participating Media
Nahmias Normal Map Appearance Filtering Using Linearly Transformed Cosines
Kemppinen Importance sampling in real-time many-lights rendering
Liu et al. Environment Lighting for Point Sampled Geometry

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090525

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090612

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090709

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120717

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120717

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130717

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees