【文献】
Jiaping Wang, 外4名,“All-Frequency Rendering of Dynamic, Spatially-Varying Reflectance”,ACM Transactions on Graphics,米国,ACM,2009年12月,Vol.28, No.5,pp.133:1-133:10
【文献】
KUN XU, 外2名,“A Practical Algorithm for Rendering Interreflections with All-Frequency BRDFs”,ACM Transactions on Graphics,米国,ACM,2014年 1月,Vol.33, No.1,pp.10:1-10:16
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0013】
[実施形態1]
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、情報処理装置の一例としての、3次元シーン内のシェーディング点における放射輝度を反映したコンピュータグラフィックス(CG)画像を生成可能なPCに、本発明を適用した例を説明する。しかし、本発明は、3次元シーン内のシェーディング点における放射輝度を算出することが可能な任意の機器に適用可能である。
【0014】
また、本明細書において「シェーディング点」とは該点に対応する描画オブジェクトの描画において、該オブジェクトが視点に対して放射する輝度成分(放射輝度)を求める点を指すものとする。また「発光放射輝度」は3次元シーン内に定義された光源がシーンに対して与える、シーンデザイナ等により予め定められた輝度を指し、「入射放射輝度」は、光源から放射されてシェーディング点に入射する輝度を指すものとする。また単に「放射輝度」と表現した場合は、描画されるCG画像に係る視点に対してシェーディング点が提示する輝度を指すものとする。
【0015】
《PC100の構成》
図1は、本発明の実施形態に係るPC100の機能構成を示すブロック図である。
【0016】
制御部101は、例えばCPU等のPC100が有する各ブロックの動作を制御する。具体的には制御部101は、記憶媒体102に記憶された各ブロックの動作プログラムを読み出し、メモリ103に展開して実行することにより各ブロックの動作を制御する。
【0017】
記憶媒体102は、不揮発性メモリやHDD等の記憶装置である。記憶媒体102は、PC100が有する各ブロックの動作プログラムだけでなく、各ブロックの動作において必要となるパラメータ等を記憶する。また記憶媒体102は、後述の描画処理での生成対象となる3次元シーン(対象シーン)に配置される描画オブジェクトの各種データを記憶する。またメモリ103は、RAM等の揮発性メモリである。メモリ103は、各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力された中間データ等を記憶する。
【0018】
描画部104は、例えばGPU等の描画装置である。描画部104は、例えば描画用メモリ105に展開された描画オブジェクトのデータを、所定のパラメータに基づいて並進や回転等の処理を行い、設定された視点の情報(位置、方向、画角、上方向等)に従って対象シーンを描画する描画処理を実行し、CG画像を生成する。本実施形態のPC100は、描画処理において少なくとも一部の描画オブジェクトについて、対象シーン内に配置された直接照明に係る光源によって生じる放射輝度を算出する後述の輝度算出処理を実行する。
【0019】
《輝度算出処理》
このような構成をもつ本実施形態のPC100において実行される輝度算出処理について、
図2のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、制御部101が、例えば記憶媒体102に記憶されている対応する処理プログラムを読み出し、メモリ103に展開して実行することにより実現することができる。なお、本輝度算出処理は、例えば描画処理の所定のタイミングで、放射輝度の算出を行うシェーディング点の各々について実行されるものとして説明する。また、本実施形態では便宜上、輝度算出処理における演算の主体が制御部101であるものとして説明するが、本発明の実施はこれに限られるものではない。即ち、複数のシェーディング点の各々について、複数の光源により生じる放射輝度を算出することになるため、並行演算を得意とする描画部104が本輝度算出処理の少なくとも一部の処理を実行してもよいことは容易に理解されよう。
【0020】
S201で、制御部101は、シェーディング点における双方向反射分布関数(BRDF)を非等方性球面ガウス関数に近似(ASG近似)する。非等方性球面ガウス関数とは、拡がりを有する光源による照明演算をモンテカルロ法を用いて行う場合の計算コストを低減するために、シュウらによって提案された近似手法である(Kun Xu、外5名著、"Anisotropic Spherical Gaussians"、ACM Transactions on Graphics、Vol.32 Number.6、pp.209:1-209:11、2013年11月)。BRDFは球面ガウス関数により近似してもよいが、等方性のBRDFであっても反射のローブが非等方性分布となるため、本実施形態ではシェーディング点のBRDFはASG近似する。ASG近似を用いる場合、SG近似を用いる場合よりも演算は複雑となるが、より再現度の高い演算結果を得ることができる。
【0021】
なお、本実施形態では演算量の増加を考慮し、シェーディング点におけるBRDFの近似のみを非等方性球面ガウス関数を用いるものとして説明するが、本発明の実施はこれに限られるものではない。本発明の実施においては、後述するように様々なパラメータを球面ガウス関数に近似するが、その近似において球面ガウス関数を等方性とするか非等方性とするかについては、所望の演算時間、演算量、再現精度に基づいて自由に選択されるものであってよい。またASG近似やSG近似は、非特許文献1やシュウらによって示される解析的近似を用いる方式に限るものでなく、フィッティング等のその他の手法が用いられてよい。
【0022】
S202で、制御部101は、対象シーン内に定義された直接照明に係る光源のうち、まだシェーディング点における放射輝度に対しての該光源の寄与量を算出していない1つの光源を対象光源に選択する。本実施形態では簡単のため、輝度算出処理の対象となる直接照明に係る光源の発光放射輝度の方向性分布は、予め球面ガウス関数で表現(SG表現)されているものとして説明する。即ち、対象シーン内に定義される直接照明に係る光源の発光放射輝度
は、例えば対象シーンをデザインしたシーンデザイナ等により定義された球面ガウス関数の各種パラメータ(球面ガウス関数の振幅(拡がり)μ
em、発光放射の中心ベクトルξ
em、鋭さη
em)と、対象光源から放射する全ての光線のベクトルωにより定義されるものであってよい。なお、SG表現された対象光源は方向性に偏りを有する分布を示すものである必要はなく、一様分布であるものが含まれてよい。例えば、対象光源が方向性に関して一様分布である場合は、発光放射輝度は鋭さη
em=0としてSG表現できる。
【0023】
なお、本実施形態に係る発明において適用対象となる直接照明に係る光源は、その発光放射輝度が予めSG表現されているものである必要はない。本実施形態に係る発明において適用対象となる直接照明に係る光源は、球光源のように光源が拡がりを有しており、かつスポットライト等の指向性を有する光源等のように球面ガウス関数に近似(SG近似)することが可能な光源であればよい。この場合、発光放射輝度は、対象光源から放射される光束の分布を最小二乗法等によりフィッティングする等の処理を行うことによりSG近似すればよい。
【0024】
S203で、制御部101は、シェーディング点から見た対象光源の拡がりを示す関数L
c(x,ω)(xはシェーディング点を示すベクトル)をSG近似する。上述したように、本実施形態に係る発明において適用対象となる光源は拡がりを有しているため、シェーディング点を基準とする拡がりを関数で示すことができる。例えば対象光源が球光源である場合は、シェーディング点から見た対象光源の拡がりは、シェーディング点と球光源とで定義されるコーンの形状を示す関数となる。対象光源の拡がりを示す関数はSG近似により
で表せるものとすると、コーン内のエネルギーが保存する必要があるため
が成立し、従って球面ガウス関数の振幅μ
cは、
で求められる。なお、
図3に示されるように、ξ
cはコーンの回転軸を規定するベクトル、即ち球光源の中心からシェーディング点に向かうベクトルの逆ベクトルであり、シェーディング点から見たコーンの傾斜(拡がり:回転軸とコーンの母線とがなす角)がθ
rである場合、
が成立するため、式1は
となる。このようにして得られたL
c(x,ω)は選択したベクトルωの光線がコーンに内包されるのであれば1を示し、内包されなければ0を示す関数となる。
【0025】
なお、上述した非特許文献1で示されるシーンに応じて設定が必要となるパラメータを除外するために、コーンを示す関数の鋭さη
cは、鋭さを1次関数で表すのであれば
であるため、最小二乗法を用いて
が最適解として予め算出されていてもよい。またこの他、1次元のLUTを使用する、あるいは実験的に求められた以下の有理数近似式
を使用して決定するものであってもよい。
【0026】
S204で、制御部101は、シェーディング点における入射放射輝度L
in(x,ω)を求める。シェーディング点における入射放射輝度L
in(x,ω)は、SG表現された発光放射輝度とSG近似されたシェーディング点から見た対象光源の拡がりを示す関数L
c(x,ω)との積により算出する。即ち、双方とも球面ガウス関数を用いて表現されているため、入射放射輝度L
in(x,ω)は
として算出することができる。なお、本ステップにおいて発光放射輝度と対象光源の拡がりを示す関数とは双方とも球面ガウス関数で表されているため、得られる入射放射輝度も球面ガウス関数で表すことができる。
【0027】
S205で、制御部101は、CG画像を描画する視点に向かうシェーディング点における放射輝度のうち、対象光源による寄与量を算出する。制御部101は、SG近似された入射放射輝度と、SG近似されたシェーディング点におけるBRDFとの積により、シェーディング点における放射輝度のうちの対象光源による寄与量を算出する。
【0028】
即ち、本ステップにおける処理は、対象光源から放射する全ての光線による、描画する視点についてのシェーディング点における放射輝度を算出するためのレンダリング方程式を解くことと等価である。つまり、SG近似あるいはASG近似を用いることにより、シェーディング点におけるレンダリング方程式(ω
eyeをシェーディング点から描画する視点に向かうベクトル、nはシェーディング点における法線ベクトル)
は、シェーディング点におけるBRDFのASG近似が
である場合、シュウらのASG近似手法を用いることで式2は
として解析的に解を得ることができる。なお、上述したシュウらのASG近似手法ではASG近似したBRDFの鋭さをνとして定義していたが、本実施形態の手法ではASG近似したBRDFの鋭さをηにて示すため、その関係式を上記した。
【0029】
S206で、制御部101は、S205において算出された対象光源に係る放射輝度の寄与量を、例えばメモリ103に格納されているシェーディング点の放射輝度の値に積算する。
【0030】
S207で、制御部101は、対象シーン内に定義された直接照明に係る光源に、対象光源に未選択の光源が存在するか否かを判断する。制御部101は、未選択の光源が存在すると判断した場合、処理をS202に戻す。また制御部101は、未選択の光源が存在しないと判断した場合、S208で各光源による寄与量の積算が完了した、シェーディング点における放射輝度の値を出力し、本輝度算出処理を完了する。
【0031】
即ち、本輝度算出処理におけるループ処理は、対象シーン内に定義された直接照明に係る1以上の光源によるシェーディング点から描画する視点への放射輝度を算出するために、各光源による寄与量の総和演算を行うことと等価である。これにより、アーティスト等によるシーンに依存した光源ごとのチューニングが必要なパラメータ、及び光源とシェーディング点との距離の項を排除し、スパイク状のアーティファクトの発生を低減したシェーディング点における放射輝度を算出することができる。
【0032】
以上説明したように、本実施形態の情報処理装置によれば、スパイク状のアーティファクトを低減した好適な放射輝度の描画表現を実現することができる。情報処理装置は、球面ガウス関数で表現(SG表現)された対象光源の発光放射輝度を取得し、シェーディング点から見た対象光源の拡がりを示す関数を球面ガウス関数で近似(SG近似)し、それらの積を求めることによりシェーディング点における入射放射輝度を求める。また情報処理装置は、シェーディング点における双方向反射分布関数(BRDF)をSG近似し、シェーディング点を描画する視点を示す情報、シェーディング点における入射放射輝度、及びSG近似されたシェーディング点におけるBRDFに基づいて、シェーディング点における放射輝度を算出する。
【0033】
[実施形態2]
上述した実施形態1では、対象シーンに存在する直接照明に係る光源のみにより、シェーディング点の放射輝度を求めるものとして説明したが、本発明の実施はこれに限られるものではない。即ち、フォトントレーシングやリフレクティブシャドウマップの生成において考慮されるように、直接照明に係る光源から放射された光線が対象シーンに存在する所定の描画オブジェクトで反射されることによって生じる間接照明に係る仮想的な光源を考慮する際にも本発明は適用可能である。
【0034】
なお、アーティスト等により各種パラメータが定義される直接照明と異なり、間接照明はエネルギー保存等の物理法則に従って演算が行われるものであるため、非特許文献1に示したワンらの手法は、本実施形態において考慮する間接照明に係る光源についてはそもそも適用することができない。以下では、間接照明に係る光源についても実施形態1と同様にSG近似を利用することで、光源とシェーディング点との距離の項を排除し、スパイク状のアーティファクトの発生を低減する方法について説明する。
【0035】
また、本実施形態では、上述した実施形態1と同様の構成を有するPC100に本発明を適用した例について説明するため、PC100の機能構成に係る説明は省略する。
【0036】
《輝度算出処理》
以下、本実施形態の輝度算出処理について、
図4を参照して詳細を説明する。なお、本輝度算出処理において、上述した実施形態1の輝度算出処理と同様の処理を行うステップについては、同一の参照番号を付して説明を省略し、以下では本実施形態に特徴的なステップの説明に留める。なお、以下の説明においては間接照明に係る光源は、リアルタイム描画を考慮して演算を簡素化するため、1バウンスによって定義される仮想点光源(VPL:Virtual Point Light)をランダムサンプリングして定義したものとして説明するが、本発明の実施において考慮すべき間接照明に係る光源は、複数回のバウンスにより定義されるものであってもよいことは言うまでもない。また本実施形態では間接照明に係る光源はフォトントレーシングにより規定されるVPLであるものとし、これを例えばハサンらにより提案される仮想球光源(VSL:Virtual Spherical Light)(Milos Hasan、外3名著、"Virtual Spherical Lights for Many-Light Rendering of Glossy Scenes"、ACM Transactions on Graphics、Vol.28 Number.5、pp.143:1-143:6、2009年12月)に変換して利用するものとして説明する。しかしながら本発明の実施は、後述する変換処理を省略するため、拡がりを有する、例えばVSL以外にもウォレスらにより提案される仮想領域光源(VAL:Virtual Area Light)(John R Wallace、外2名著、"A Ray Tracing Algorithm for Progressive Radiosity"、SACM SIGGRAPH Computer Graphics - Special issue: Proceedings of the 1989 ACM SIGGRAPH conference、Volume 23 Issue 3、pp.315-324, 1989年7月)として予め定義されてもよい。
【0037】
S201においてシェーディング点におけるBRDFをASG近似した後、制御部101はS401で、対象シーン内に定義された光源のうち、まだシェーディング点における放射輝度に対しての該光源の寄与量を算出していない1つの光源を対象光源に選択する。
【0038】
S402で、制御部101は、対象光源が間接照明に係る光源であるか否かを判断する。即ち、制御部101は、対象光源がVPLであるか否かを判断する。制御部101は、対象光源が間接照明に係る光源であると判断した場合は処理をS403に移し、直接照明に係る光源であると判断した場合は処理をS203に移す。なお、本実施形態では対象光源に直接照明に係る光源と間接照明に係る光源の両方が含まれているものとしているため、本ステップのように対象光源の種類がいずれであるかを判断するが、対象光源が間接照明に係る光源であることが予め判明している場合は、本ステップの処理を行わずに後述のS403、S404の処理を行えばよいことは容易に理解されよう。
【0039】
S403で、制御部101は、対象光源をVSLに変換する。VPLのVSLへの変換は、例えばVPLの中心をVSLの中心位置として定義し、VPLの密度の逆数を半径として定義することによりVSLに変換する。間接照明に係る光源が1バウンスであるものとすると、その半径r
emは、光線のサンプル数をN、光線の確率密度をp、要因となる直接光源の位置ベクトルをx
0、VPLの座標(VSLの中心座標)の位置ベクトルをx
em、要因となる直接光源からVPLに向かうベクトルをω
orig、VPL位置における法線ベクトルをn
emとすると、
の関係を用いて解析的に求めることが可能である。即ち、本実施形態の輝度算出処理では間接照明に係る光源については拡がりを有する光源に変換するため、要因となる直接光源は実施形態1のように拡がりを有する光源である必要はなく、直接照明に係る光源は拡がりを有さない点光源であるものとして説明する。なお、フォトンが複数回バウンスする場合や拡がりを有するような大きな光源から放射される場合は、上記の解析解を用いることはできないため、ハサンらが提案するような密度推定により半径を求める方式が採用されてよい。
【0040】
なお、本実施形態ではVPLを変換したVSLの半径として解析解を使用するものとして説明するが、本発明の実施はこれに限られるものではない。つまり、ランダムサンプリングにより定義されたVPLの各々をVSLに変換した間接照明に係る光源を取り扱う場合、VSLの半径を解析解に決定すると、確率密度を考慮してはいるものの実際に生成されたVPLの分布を無視しているので誤差が大きくなり、不自然な放射輝度が再現される可能性がある。これに対し、プラツキンらはランダムサンプリングにより定義したVPLを種として、VPL位置の近さ、VPL位置における法線の類似度、VPL位置の描画オブジェクトの色等により集合に分類(クラスタリング:Clustering)し、各集合において重複しないようにVSLの半径を決定する方法を提案しており(Roman Prutkin、外2名著、"Reflective Shadow Map Clustering for Real-Time Global Illumination"、Eurographics 2012 Short Papers、 pp.9-12、2012年3月)、該手法を利用して本ステップの処理を行ってもよい。
【0041】
S404で、制御部101は、変換したVSLの発光放射輝度L
in(−ω)を求め、SG近似する。VSLの発光放射輝度は、対象光源位置のオブジェクトのBRDFや法線方向等によって変化するため、該BRDFのSG近似が
であるとすると、
として得ることができる。なお、ここでΦ
emは、VPLの位置に入射するフォトンのパワー(エネルギー)である。VSLのSG近似した発光放射輝度を取得した後、制御部101は処理をS203に移す。S203以降の処理は、対象光源が直接照明に係る光源である場合と同様に処理することができる。
【0042】
このようにすることで本実施形態の輝度算出処理では、間接照明として定義された光源についても同様に発光放射輝度をSG近似することで、実施形態1と同様に光源とシェーディング点との距離の項を排除してシェーディング点における放射輝度を算出することができる。即ち、対象シーンに存在する直接照明に限らず、直接照明によって生じた間接照明も考慮した、シェーディング点における放射輝度を好適に算出することができる。
【0043】
[変形例]
ところで、特定の方向に鋭い鏡面反射を示す面による間接照明を再現する際には、例えばVPLを離散的にサンプリングした場合、該面に配置されたVPLの各々は、VPLと光源との位置関係に応じた方向に強く放射される。即ち、該面にVPLが離散的に配置されており、かつその各々において反射方向が異なるため、1つの光源から放射し、該面によって反射されたことにより照射される範囲は、間隙を有して離散的に明るくなるような、斑状のアーティファクトを引き起こす。
【0044】
これに対し、実施形態2のようにVSL変換行うことで反射光に拡がりをもたせて表現することができるため、鋭い鏡面反射によるこのような斑状のアーティファクトの発生は多少軽減される。しかしながら、VSLによる反射もその中心と光源との位置関係に応じた方向に強く放射されることになるため、例えば
図5(a)に示されるように各VSLが密になっていたとしても、斑状のアーティファクトは発生し得るものであった。
【0045】
本変形例では、さらにこのような斑状のアーティファクトを低減する方法について説明する。なお、本変形例においても上述した実施形態1と同様の構成を有するPC100に本発明を適用した例について説明するため、PC100の機能構成に係る説明は省略する。
【0046】
《輝度算出処理》
以下、本変形例の輝度算出処理について、
図6を参照して詳細を説明する。なお、本輝度算出処理において、上述した実施形態1及び2の輝度算出処理と同様の処理を行うステップについては、同一の参照番号を付して説明を省略し、以下では本実施形態に特徴的なステップの説明に留める。また、本輝度算出処理の説明では、簡単のため間接照明に係る光源(VPL)は1バウンスのみとし、クラスタリングにより同一の集合に含められるVPLは法線、色、BRDF等が均一であるものとする。
【0047】
S201においてシェーディング点におけるBRDFをASG近似した後、制御部101はS601で、対象シーン内に定義した間接照明に係る光源(VPL)をクラスタリングする処理を行う。本変形例のクラスタリングは、上述した選定基準により行われるものとして説明するが、本発明の実施においてクラスタリングにより同一集合に含められるVPLの選定基準はこれに限られるものではない。また本実施形態ではクラスタリングを用いるものとして説明するが、実施形態2で説明したように解析的に求められた半径r
emを使用するものであっても本発明が適用可能であることは言うまでもない。
【0048】
S602で、制御部101は、クラスタリングにより分類した各集合内のVPLを、VSLに変換する。このとき制御部101は、各VSLの半径を上述した解析解ではなく、例えばクラスタ内の中心から見た最遠のVPLやVPLの位置の分散を実際に計測し、なるべく重複が生じないように決定するものとする。制御部101は、全ての集合内のVPLをVSLに変換した後、処理をS401に移す。
【0049】
S401において対象光源が選択されると、制御部101はS603で、対象光源が間接照明に係る光源であるか否かを判断する。なお、本ステップにおける間接照明に係る光源であるか否かの判断は、S602において全てのVPLがVSLに変換されているため、対象光源がVSLであるか否かの判断となる。制御部101は、対象光源が間接照明に係る光源であると判断した場合は処理をS604に移し、直接照明に係る光源であると判断した場合は処理をS203に移す。
【0050】
S604で、制御部101は、対象光源であるVSLの発光放射輝度L
in(−ω)を求め、SG近似する。このとき、制御部101は仮想光源を離散化させたことによる
図5(a)に示したような照射される範囲の間隙が発生しないように、VSLの半径に応じた、即ちシェーディング点とVSLとで規定されるコーンの太さに応じて照射される範囲が拡張されるようにBRDFにブラー効果を適用する処理(ブラー処理)を行う。このようにコーンの太さに応じたブラー処理により照射される範囲を拡張することで、
図5(b)に示されるように好適な間接照明を再現することができる。
【0051】
なお、このようにBRDFにブラー処理を行ってVSLの発光放射輝度を規定する場合、発光放射輝度がブラー関数をSG近似することで
として解析的に解を得ることができる。ここで、B
em(ω')がブラー関数、ξ
origはVSLと要因となった直接照明に係る光源とで構成されるコーンの軸を示すベクトル、μ
b、η
bのそれぞれは該コーンをSG近似した際の振幅、鋭さを示している。従って、S205において求めるシェーディング点における放射輝度のうちの対象光源による寄与量は、これを用いて算出すればよい。
【0052】
なお、本実施形態ではブラー処理を行うことにより好適な間接照明を再現する方法について説明したが、クラスタリングを行った場合の斑状のアーティファクトは、トクスビグのPhong Distributionにおける平均化の原理(Michael Toksvig著、"Mipmapping Normal Maps"、http://www.nvidia.com/object/mipmapping_normal_maps.html)を応用して、SG近似したBRDFをPhongに近似した後に平均化し、再度phongからSGに戻すことで、クラスタリング内のVSLの複数のローブを平均化したローブを近似する手法によっても解決可能である。あるいはロウレイセンらの手法(Jurgen Laurijissen、外3名著、"Fast Estimation and Rendering of Indirect Highlights"、Computer Graphics Forum、Volume 29 Number 4、 pp.1305-1313、2010年6月)を用いて反射のローブの平均化を行ってもよい。
【0053】
[変形例2]
上述した実施形態1及び2、変形例では、主としてリアルタイムレンダリングを考慮し、演算量を低減しつつ、スパイク状のアーティファクトを低減した好適な放射輝度の描画表現を実現する方法について説明した。しかしながら、リアルタイムレンダリングのように演算を完了させるべき時間に拘束がある条件下ではなく、オフラインレンダリングのように時間的な拘束条件はない反面、その描画再現精度が評価される分野においては、上述したBRDFにSG及びASG近似を用いる方式では所望の精度が実現できない可能性がある。これは、ワンらのSpherical Warping手法を用いたSG及びASG近似が、近似において用いるSG及びASGの数を増加させたとしても誤差が収束しないことに起因する。即ち、誤差が収束しない以上、オフラインレンダリングにおいて時間をかけたとしても再現度が向上しない可能性があった。
【0054】
一方、オフラインレンダリングのように演算量や演算時間への制約が低い場合、リアルタイムレンダリングよりも多くのフォトントレーシングが可能、即ちより多くのVSLを演算において考慮することができる。即ち、1つのシェーディング点について定義される各VSLの半径をより小さくすることができ、SG近似したコーンの形状を示す関数L
c(x,ω)の鋭さη
cが強くなる。故に、SG近似したコーンの形状を示す関数L
c(x,ω)の鋭さη
cが、VSLのSG近似した発光放射輝度L
em(−ω)とASG近似したシェーディング点とのBRDFの積で表現されるSGの鋭さη
ρよりも十分に大きい場合、レンダリング方程式において該発光放射輝度とシェーディング点のBRDFとの積は定数とみなすことができる。
【0055】
即ち、SG近似したコーンの形状を示す関数L
c(x,ω)の鋭さη
c≫η
ρが成立するのであれば、式2のレンダリング方程式は
となり、シェーディング点のBRDFとVSLのBRDFをASG及びSG近似することなく表現できる。この表現はBRDFをSG近似していないため、縮小不可能な誤差(バイアス)が取り除かれている。一方でBRDFをSG近似しないために増加する誤差(分散)もあるが、これはVSLの数を多くすることで収束可能である。また2つのBRDFの積がL
cに比べて十分に低周波の場合、この増加する分散は十分に小さいことが期待できる。
【0056】
なお、例えば
が成立するか否か、即ちサンプリング数が多く、VSLの半径が十分に小さいか否かを各シェーディング点について判断することで、実施形態2や変形例の方式を用いるか、本変形例のようにBRDFに対してSG及びASG近似を利用しない方式を用いるかを切り替えればよい。具体的にはαが0より大きい有限値(例えば0.001等)であれば、VPLが無限に定義された場合に解は収束する。あるいは、使用する演算方式の判別は、ASG近似したシェーディング点のBRDFとSG近似したVSLのBRDFの積の鋭さ、またはASG近似したシェーディング点のBRDFとSG近似したVSLの発光放射輝度との積の鋭さに対して、SG近似したコーンの形状を示す関数L
c(x,ω)の鋭さとは無関係に予め閾値を設けておくことにより行われてもよい。
【0057】
[その他の実施形態]
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。また本発明に係る情報処理装置は、1以上のコンピュータを該情報処理装置として機能させるプログラムによっても実現可能である。該プログラムは、コンピュータが読み取り可能な記録媒体に記録されることにより、あるいは電気通信回線を通じて、提供/配布することができる。