(57)【特許請求の範囲】
【請求項１】
コンピュータに、
描画するシーンに定義された光源の情報を取得する処理と、
前記定義された光源の各々について、該光源からの距離に応じた輝度の減衰関数に対応する、該光源から所定の距離にあるオブジェクトについての輝度演算に該光源を使用するか否かを決定するために用いられる確率関数を定義する処理と、
前記定義された光源の各々の前記確率関数に基づいて、該光源の確率的有効範囲を前記定義された光源ごとに決定する処理と、
前記シーン内の所定のオブジェクトについての輝度演算を、前記確率的有効範囲に該オブジェクトを含む光源の減衰関数と前記確率関数とに基づいて行う処理と、
を実行させるプログラム。
【請求項２】
前記輝度演算を行う処理は、前記確率的有効範囲に前記所定のオブジェクトを含む光源の減衰関数に、該光源の前記確率関数に基づく重み付けを行って得られた、統計的に偏りのない新たな減衰関数を用いて該オブジェクトの輝度演算を行う請求項１に記載のプログラム。
【請求項３】
前記シーンを描画した画面の輝度に係る品質を設定する処理をさらに前記コンピュータに実行させ、
前記新たな減衰関数は、対応する光源から前記設定された品質に基づいて定められる距離範囲までの範囲において、重み付けを行う前の減衰関数を示す請求項２に記載のプログラム。
【請求項４】
前記決定する処理は、前記定義された光源の各々について無作為に決定した乱数と該光源の確率関数とに基づいて、該光源の前記確率的有効範囲を決定する請求項１乃至３のいずれか１項に記載のプログラム。
【請求項５】
前記定義された光源の各々についてシャドウマップを生成する処理をさらに前記コンピュータに実行させ、
前記生成する処理は、前記定義された光源の各々の前記確率的有効範囲を超える距離のオブジェクトをシャドウマップに反映しない請求項１乃至４のいずれか１項に記載のプログラム。
【請求項６】
前記シャドウマップは、光源から所定の方向に放出した光線が最初にぶつかる点までの距離を算出した後、スプラッティング処理を適用することにより生成されるものであり、
前記生成する処理は、前記確率的有効範囲を超える距離の点についてスプラッティング処理を適用しない請求項５に記載のプログラム。
【請求項７】
請求項１乃至６のいずれか１項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項８】
描画するシーンに定義された光源の情報を取得する取得手段と、
前記定義された光源の各々について、該光源からの距離に応じた輝度の減衰関数に対応する、該光源から所定の距離にあるオブジェクトについての輝度演算に該光源を使用するか否かを決定するために用いられる確率関数を定義する定義手段と、
前記定義された光源の各々の前記確率関数に基づいて、該光源の確率的有効範囲を前記定義された光源ごとに決定する決定手段と、
前記シーン内の所定のオブジェクトについての輝度演算を、前記決定手段により決定された確率的有効範囲に該オブジェクトを含む光源の減衰関数と前記確率関数とに基づいて行う演算手段と、
を有する輝度演算装置。
【請求項９】
描画するシーンに定義された光源の情報を取得する取得工程と、
前記定義された光源の各々について、該光源からの距離に応じた輝度の減衰関数に対応する、該光源から所定の距離にあるオブジェクトについての輝度演算に該光源を使用するか否かを決定するために用いられる確率関数を定義する定義工程と、
前記定義された光源の各々の前記確率関数に基づいて、該光源の確率的有効範囲を前記定義された光源ごとに決定する決定工程と、
前記シーン内の所定のオブジェクトについての輝度演算を、前記決定工程において決定された確率的有効範囲に該オブジェクトを含む光源の減衰関数と前記確率関数とに基づいて行う演算工程と、
を有する輝度演算方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、記録媒体、輝度演算装置及び輝度演算方法に関し、特にリアルタイム描画における輝度演算の高速化技術に関する。
【背景技術】
【０００２】
電子ゲーム等を始めとするコンピュータグラフィックス（ＣＧ）の分野では、より写実的な表現を再現する様々な手法が提案されている。このような手法の１つに、描画するシーンに定義された光源による影響、即ち、描画される画面におけるシーン内に定義された光源による該シーン内のオブジェクト（シェーディング点）の輝度変化を、オブジェクトの双方向反射率分布関数（ＢＲＤＦ：Bidirectional Reflectance Distribution Function）を考慮した所謂レンダリング方程式により求める手法がある。
【０００３】
ところで、描画するグラフィックの輝度に係る写実性を向上させるために、描画するシーンに定義された複数の光源（直接光源）と、さらにこれらの直接光源がシーン内に配置されたオブジェクトにより反射されることにより他のオブジェクトを照射する間接光源とによる影響を考慮する手法が採用される。該手法では、出力画面内の各画素に描画されるオブジェクトの各々について、該オブジェクトを照射しうる全ての光源による影響を総和することにより、より正確な輝度演算結果を得ることができる。
【０００４】
しかしながら、例えばインタラクティブ動画コンテンツ等、リアルタイムに各フレームの画面の描画処理を行う必要がある場合、画面の各画素について、該画素のオブジェクトを照射しうる全ての光源による影響を演算することは多大な演算量となり得る。このため、フレーム時間内に全ての描画処理を完了することができず、フレーム遅延や処理破綻等を生じうる。
【０００５】
一方で、現実世界では光源からの距離によって該光源による影響は低減する。このため、写実性を高めたグラフィックス表現において、定義される光源の各々については、光の到達距離が長くなるほど強度を低減させるような単調減少の減衰関数（fall-off関数）が設定されている。従って、全ての光源による影響を演算としたとしても、到達時の強度が所定の値以下となる距離に存在するシェーディング点についての演算は、描画される画面への影響が低く、演算量に見合った効果が得られない。非特許文献１では、このようなシェーディング点への寄与の少ない光源を排除して演算量を低減すべく、各光源について有効範囲が定義され、生成する画面を分割した各タイルについて、該タイルに有効範囲が含まれる光源の影響のみを該タイルに含まれる画素の輝度演算の対象とする（カリング）手法を開示している。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】オラ・オルソン（Ola Olsson）、外１名著、「タイル状シェーディング（Tiled Shading）」、Journal of Graphics, GPU, and Game Tools、Vol.15, No.4、2011年、pp.235-251
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、非特許文献１に示されるような光源の有効範囲を有するfall-off関数は、通常グラフィックデザイナ等により定義されるため、定義によっては演算量が低減しない可能性があった。特に、より写実的な表現のために定義されるfall-off関数は、距離の二乗に反比例し、無限遠で漸近する態様を示すために有効範囲が定義されず、演算量を低減させることができない。
【０００８】
これに対し、有効範囲を強制的に設定する（クランピング）手法を採用することで演算量を低減することはできるが、その場合、画面内の特定のオブジェクトの輝度が暗くなり、観察者にとってシーンを視認しづらくなる、あるいはデザイナの想定した輝度表現とならない可能性があった。
【０００９】
本発明の少なくとも１つの実施形態は、上述の問題点に鑑みてなされたものであり、演算量を低減しつつ、所望の輝度表現を実現するプログラム、記録媒体、輝度演算装置及び輝度演算方法を実現することを目的とする。
【課題を解決するための手段】
【００１０】
前述の目的を達成するために、本発明の少なくとも１つの実施形態に係るプログラムは、コンピュータに、描画するシーンに定義された光源の情報を取得する処理と、定義された光源の各々について、該光源からの距離に応じた輝度の減衰関数に対応する、該光源から所定の距離にあるオブジェクトについての輝度演算に該光源を使用するか否かを決定するために用いられる確率関数を定義する処理と、定義された光源の各々の確率関数に基づいて、該光源の確率的有効範囲を前記定義された光源ごとに決定する処理と、シーン内の所定のオブジェクトについての輝度演算を、確率的有効範囲に該オブジェクトを含む光源の減衰関数と確率関数とに基づいて行う処理と、を実行させる。
【発明の効果】
【００１１】
このような構成により本発明の少なくとも１つの実施形態によれば、演算量を低減しつつ、所望の輝度表現を実現することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係るゲームコンソール１００の機能構成を示したブロック図
【図２】本発明の実施形態に係る、光源について定義される確率関数を説明するための図
【図３】本発明の実施形態に係る、確率的有効範囲を有し、かつ統計的に偏りのない重み付けがなされたfall-off関数を説明するための図
【図４】本発明の実施形態１に係るゲームコンソール１００において実行される輝度演算処理を例示したフローチャート
【発明を実施するための形態】
【００１３】
［実施形態１］
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、輝度演算装置の一例としての、描画するシーンに定義された光源に基づく輝度演算を反映させたゲーム画面を生成可能なゲームコンソール１００に、本発明を適用した例を説明する。しかし、本発明は、描画するシーンに定義された光源に基づく輝度演算を行うことが可能な任意の機器に適用可能である。
【００１４】
《ゲームコンソール１００の構成》
図１は、本発明の実施形態に係るゲームコンソール１００の機能構成を示したブロック図である。
【００１５】
制御部１０１は、例えばＣＰＵ等であり、ゲームコンソール１００が有する各ブロックの動作を制御する。制御部１０１は、記憶媒体１０２に記憶されている各ブロックの動作プログラムを読み出し、メモリ１０３に展開して実行することにより各ブロックの動作を制御する。
【００１６】
記憶媒体１０２は、例えば書き換え可能なＲＯＭやＨＤＤ、あるいは所定の光学ドライブに装填されることにより読み取り可能になる光学メディア等の着脱可能な記録媒体を含む、恒久的にデータを保持可能に構成された不揮発性の記憶装置である。記憶媒体１０２は、ゲームコンソール１００が有する各ブロックの動作プログラムに加え、各ブロックの動作において必要なパラメータ、及びゲームコンソール１００を使用するユーザが体験可能なゲームコンテンツに係るアプリケーションデータやプログラム等を格納する。
【００１７】
メモリ１０３は、例えばＲＡＭ等の揮発性の記憶装置である。メモリ１０３は、各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力された中間データ等を一時的に記憶する格納領域として用いられる。
【００１８】
描画部１０４は、例えばＧＰＵ等のゲーム画面に係る描画処理を行う描画装置である。描画部１０４は、ゲームに係る処理の結果生成された描画命令に応じてゲーム画面の描画を行う。また、ＧＰＵは複数処理の並行演算処理能力に長けているため、描画部１０４は制御部１０１や輝度演算部１０５が実行する処理を代替して行ってもよい。
【００１９】
輝度演算部１０５は、後述する輝度演算処理を実行し、描画部１０４により描画されるゲーム画面において、該画面内に配置される各オブジェクトの輝度を、画素単位で求める。本実施形態では輝度演算部１０５は、ゲーム画面を複数の領域に分割し、各領域について寄与を考慮すべき光源を抽出した後、各画素に対応するオブジェクト（シェーディング点）について光源との距離とに基づいて輝度演算処理を行う。
【００２０】
表示制御部１０６は、輝度演算部１０５により描画されたゲーム画面を、ゲームコンソール１００に接続された表示装置に所定の頻度（フレームレート）で出力する表示制御を行う。表示装置は、ゲームコンソール１００に外部接続するものであってもよいし、ゲームコンソール１００と同一の筐体に内蔵されるものであってもよい。
【００２１】
操作入力部１０７は、例えばアナログスティックやボタン、キーボード、マウス、タッチ検出センサ等の、ゲームコンソール１００が有する操作入力を行うためのユーザインタフェースである。操作入力部１０７は、なされた操作入力を検出すると該操作入力を識別するための情報を制御部１０１に伝送する。
【００２２】
《光源の有効範囲の決定》
ここで、本実施形態のゲームコンソール１００において、所定のシーン内に予め定義された各光源の有効範囲、即ちシェーディング点において該光源からの寄与を考慮すべき距離範囲を好適に決定する方法について、図を参照して詳述する。
【００２３】
上述したように、ゲームコンテンツ等において３次元グラフィックスで表現されるシーン内には、デザイナ等により定義された１以上の光源が定義される。光源の定義は、光源の座標・方向や属性、色味、fall-off関数等が設定されることによりなされる。また、より写実性の高い輝度表現を可能にするために、光源は、シーン内に発光体として定義された直接光源だけでなく、該直接光源から放出されたフォトンが任意のオブジェクト面にぶつかった点に定義されるＶＰＬ（Virtual Point Light）のような間接光源を含む。以下の説明では、説明を簡単にするため直接光源である点光源について有効範囲（半径）を決定する方法を例示するが、本発明が他の属性の光源や間接光源にも適用可能であることは容易に理解されよう。
【００２４】
ところで、現実世界における光源と同様の輝度表現を行うために、一般的に光源のfall-off関数は、例えば距離の二乗に反比例するような単調減少関数として定義される。しかしながら、距離の二乗に反比例するfall-off関数を用いる場合、シェーディング点と光源との距離が無限遠であろうと強度は０に漸近するだけであるため、理論上は該光源による寄与が多少なり存在することになる。こうした寄与の小さい光源を輝度計算に含めるか否かは、所謂ロシアンルーレット法を用いて確率的に決定することができる。従って、本発明は各光源について、輝度表現に寄与するかを決定するための距離に応じた確率関数ｐ（ｘ）を定め、該確率関数の分布に基づいて確率的に有効範囲（確率的有効範囲）を定め、該範囲の確率関数に基づいて各光源のfall-off関数ｆ（ｘ）を重み付けすることで、適用範囲を確率的有効範囲とする、統計的に偏りのない（unbiased）各光源のfall-off関数ｆw（ｘ）を決定する。
【００２５】
〈確率関数ｐ（ｘ）〉
光源について定められるfall-off関数ｆ（ｘ）は、単調減少関数であるため、確率関数ｐ（ｘ）も同様に単調減少関数であることが好ましい。即ち、シェーディング点の光源からの距離が離れるほど、該光源の輝度演算への寄与度は低くなるため、それだけシェーディング点の輝度演算処理において該光源についての演算は棄却（不採択）されてもシェーディング点に係る演算結果に与える誤差は小さいことになる。演算効率や演算結果の精度等を考慮すると、fall-off関数ｆ（ｘ）と確率関数ｐ（ｘ）は同形状、即ち比例関係にあることが好ましいが、本発明の実施はこれに限られるものではない。
【００２６】
また、本実施形態における各光源の確率的有効範囲の決定においては、全てのシェーディング点について、即ち全ての距離において一様乱数を光源ごとに決定した後に、該乱数を用いて該光源に係る確率的有効範囲ｒを算出するため、確率関数ｐ（ｘ）は逆関数が計算可能であるものとする。
【００２７】
光源のfall-off関数ｆ（ｘ）が単調減少関数であると仮定すると、理想的な確率関数ｐ（ｘ）は図２に示されるように、常に輝度演算への寄与を考慮すべき距離範囲（ｘ≦ｒt）と、確率的に輝度演算への寄与を考慮すべき距離範囲（ｒt＜ｘ＜∞）とに分類できるため、
0006393153.tif 000002
となる。このとき、ロシアンルーレット法に従って、該光源について発生させる一様乱数ξ＝（０，１］に基づいて採択条件ｐ（ｘ）≦ξを定めると、確率的有効範囲の半径は
0006393153.tif 000003
となる。
【００２８】
例えば光源のfall-off関数ｆ（ｘ）が単純にシェーディングまでの距離の二乗に反比例するのであれば、確率関数ｐ（ｘ）は
0006393153.tif 000004
となり、確率的有効範囲の半径は、
0006393153.tif 000005
を解くことにより得られる。
【００２９】
〈常に寄与を考慮する半径閾値ｒt〉
常に輝度演算への寄与を考慮すべきｒtについては、例えばfall-off関数ｆ（ｘ）が距離の二乗に反比例するようなケースにおいて距離０において無限大となり、これに比例する確率関数ｐ（ｘ）を定義したとしても０〜∞に対応する乱数発生は処理として実行不可能であるため、このような確率関数では処理上の観点からも設定が必要となる。
【００３０】
また、閾値ｒtは、例えばユーザやデベロッパにより設定可能に構成されてよい演算結果の要求品質に応じて変更されることが好ましい値である。即ち、閾値ｒtが小さければ、必ず輝度演算における寄与を考慮するものとして採択される距離範囲に含まれるシェーディング点が少なる分、輝度演算に係る演算量は全体的に低減し、輝度演算処理を高速化することができる。しかしながら、閾値ｒtが小さいほど、光源の近くに存在するが該閾値よりも距離が離れているシェーディング点については該光源からの寄与が考慮されない可能性があり、演算結果の品質は低くなり得る。反対に、閾値ｒtが大きければ、必ず輝度演算における寄与を考慮するものとして採択される距離範囲に含まれるシェーディング点が多くなるため、輝度演算に係る演算量は全体的に増加し、輝度演算処理は低速となる。しかしながら、閾値ｒtが大きいほど、該光源からの寄与が考慮されて正確な演算が行われるシェーディング点が増加するため、演算結果の品質は高くなり得る。
【００３１】
このため、本実施形態では各光源の閾値ｒtは、例えば全シェーディング点においてＢＲＤＦを無視し、かつ全シェーディング点が反射率１のランバート面であると仮定し、以下の式
0006393153.tif 000006
により品質に基づいた閾値ｒtを求める。ここで、Ｌtは例えばユーザやデベロッパ等により設定される表示装置等の階調表現精度の許容誤差であり、Ｅはシーンを描画するカメラについて定められる露出値、Ｉは光源の放射強度である。
【００３２】
なお、ＶＰＬ等、シーン内の狭領域に比較的多数の光源が定義される場合、該領域周辺において輝度の飽和が生じうる。このような場合、飽和が生じないよう露出値及び放射強度は小さくされるため、fall-off関数が単調減少関数である場合は該式に示されるように閾値ｒtは小さくできる。即ち、狭領域に多数の光源が定義されるようなシーンでは品質を維持したまま閾値ｒtが小さくでき、これに伴い確率的有効範囲ｒが小さくなる確率も高くなり得、輝度演算処理に係る演算量は全体的に低減可能となる。
【００３３】
〈統計的に偏りのないfall-off関数〉
上述のように決定された確率的有効範囲ｒは、各光源について、光源の距離によらずに生成された一様乱数に基づいて決定されたものである。つまり、該範囲について定められた確率関数ｐ（ｘ）は、本来考慮されるべき無限遠までの距離範囲に対して輝度演算への寄与を考慮するか否か判断するために発生される乱数に基づく確率的なサンプリングを、該有効範囲内において統計的に偏りがないように定めた関数となっている。従って、本実施形態の輝度演算部１０５は、該確率関数ｐ（ｘ）に基づいて光源のfall-off関数ｆ（ｘ）を重み付けすることで、各光源について確率的に決めた確率的有効範囲ｒと、重み付けをした統計的に偏りのないfall-off関数ｆw（ｘ）とを用いることで、輝度演算処理における全体的な演算量の低減を、品質の低減を抑えつつ実現することができる。
【００３４】
例えば、ある光源についてfall-off関数ｆ（ｘ）と確率関数ｐ（ｘ）とがｘ＞ｒtにおいて比例関係にある場合、図３（ａ）のように光源からの距離の二乗に反比例する単調減少のfall-off関数ｆ（ｘ）は、確率的有効範囲ｒの設定とｐ（ｘ）の逆数を乗じることによる重み付けにより、図３（ｂ）のような重み付けされたfall-off関数ｆw（ｘ）が、輝度演算処理において考慮すればよいfall-off関数となる。
【００３５】
《輝度演算処理》
このような構成をもつ本実施形態のゲームコンソール１００において実行される輝度演算処理について、図４のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、制御部１０１が、例えば記憶媒体１０２に記憶されている対応する処理プログラムを読み出し、メモリ１０３に展開して実行することにより、描画部１０４に以下の動作を実現させることができる。なお、本輝度演算処理は、例えばゲームコンテンツに係るゲーム画面の描画処理が行われる際に開始され、各フレームのゲーム画面の描画処理の度に実行されるものとして説明する。
【００３６】
Ｓ４０１で、輝度演算部１０５は、描画するシーン（対象シーン）について定義された光源の各々について、予め定められた要求品質に基づいて閾値ｒtを決定する。なお、本実施形態の輝度演算処理では各光源について決定する閾値ｒtは、品質に基づく上述の数式に基づいて決定するものとして説明するが、本発明の実施はこれに限られるものではない。即ち、上述の数式に基づいて決定される閾値ｒtは、要求品質を満たし、かつ好適な演算量で本輝度演算処理を実現するものであるが、本処理を実行する装置の演算能力や光源について定義されるfall-off関数に応じて異なる手法により決定されるものであってもよい。
【００３７】
Ｓ４０２で、輝度演算部１０５は、対象シーンについて定義された各光源について一様乱数ξを発生させ、Ｓ４０１において決定された閾値ｒtに基づいて、各光源の確率的有効範囲ｒを決定する。
【００３８】
Ｓ４０３で、輝度演算部１０５は、描画されるゲーム画面を複数のタイルに分割し、スクリーン座標上で確率的有効範囲がタイルの領域内に含まれない光源を各タイルについて除外するカリング処理を行う。
【００３９】
Ｓ４０４で、輝度演算部１０５は、各タイルについてカリング処理の結果抽出された光源とタイル内の各画素（シェーディング点）との距離を算出し、シェーディング点の輝度演算において寄与を考慮すべき光源（対象光源）をさらに抽出する。即ち、輝度演算部１０５は、各シェーディング点について、カリング処理の結果抽出された光源のうちの確率的有効範囲に該シェーディング点を含む光源を、該シェーディング点についての対象光源として抽出する。
【００４０】
Ｓ４０５で、輝度演算部１０５は、シェーディング点の各々について、該シェーディング点に係る各対象光源の重み付け後のfall-off関数ｆw（ｘ）に基づいて輝度演算を行って得られた結果を合算し、シェーディング点における輝度値として出力する。このようにして得られた輝度値は、並行して実行されるゲーム画面の描画処理の対応する画素の描画結果に反映される。
【００４１】
このようにすることで、本実施形態の輝度演算処理では、確率的に有効範囲を各光源に定義し、要求された品質を維持しつつ輝度演算処理に係る演算量を低減することができる。なお、Ｓ４０３〜Ｓ４０５の処理は、タイルやシェーディング点を順に選択して行われてもよいし、複数のタイルやシェーディング点について並行して行われてもよい。また、本実施携帯の輝度演算処理では非特許文献１のようにタイル分割を行ってカリング処理を行った後に対象光源を抽出するものとして説明したが、本発明の実施においてタイル分割が必須ではないことは容易に理解されよう。
【００４２】
なお、本実施形態では輝度演算部１０５を有するゲームコンソール１００において、輝度演算処理と該演算結果が反映された画面の生成を行うものとして説明したが、本発明の実子はこれに限られるものではない。即ち、このような輝度演算処理と画面の生成処理とは同一の機器において実行される必要はなく、データの授受が可能な複数の機器に分断されて行われてもよい。例えば、所謂クラウド型ゲームサービスにおいては輝度演算処理を行う装置とゲーム画面の描画を行うサーバとが分離されていてもよいし、家庭用ゲームコンソール等のクライアント装置における描画処理によって生成される画面をリッチ化するために、輝度演算結果が例えばネットワークを介して接続された別の機器から提供され、それを利用してクライアント装置において描画処理が行われるものであってもよい。
【００４３】
以上説明したように、本実施形態の輝度演算装置は、演算量を低減しつつ、所望の輝度表現を実現することができる。つまり、本実施形態の態様に係る輝度演算装置は、描画するシーンに定義された光源の情報を取得し、定義された光源の各々について、該光源からの距離に応じた輝度の減衰関数に対応する、該光源から所定の距離にあるオブジェクトについての輝度演算に該光源を使用するか否かを決定するために用いられる確率関数を定義する。そして装置は、定義された光源の各々の確率関数に基づいて、該光源の確率的有効範囲を前記定義された光源ごとに決定し、シーン内の所定のオブジェクトについての輝度演算を、決定した確率的有効範囲に該オブジェクトを含む光源の減衰関数と確率関数とに基づいて行う。
【００４４】
［実施形態２］
上述した実施形態ではシェーディング点における輝度演算処理の演算量低減のために、所望の輝度表現を実現可能な、確率的有効範囲を有する、統計的に偏りのない重み付け後のfall-off関数を用いて輝度演算処理を実行する方法について説明したが、このようにして決定した確率的有効範囲は輝度演算処理以外にも利用可能である。
【００４５】
シーンに配置されるオブジェクトには、他のオブジェクトによって光源からの光線が遮蔽されることで陰影が生じる場合がある。このような陰影を描画するために、光源からの投影について、一番手前のオブジェクトまでの深度を示したシャドウマップを予め生成し、該シャドウマップに基づいてオブジェクトに陰影を描画するか否かを判断する手法が用いられている。しかしながら、光源やオブジェクトが変化しない場合では特に問題はないが、光源やオブジェクトの位置等が動的に変化する場合には、画面を描画するたびにこれらのシャドウマップを生成する必要がある。さらに、上述したような光源から放出したフォトンがオブジェクトにぶつかることにより定義されるＶＰＬ等を考慮すると、その各々についてシャドウマップは生成する必要があり、ゲームコンテンツ等においてより写実的な画面を描画するためには大量のシャドウマップを高速に描画する必要があった。
【００４６】
このような大量のシャドウマップを高速に描画する手法として、リッチェル（T. Ritschel）らの「"Imperfect Shadow Maps for Efficient Computation of Indirect Illumination", ACM Trans. Graph. 27, 129:1-129:8, 2008年」には、光源の投影においてシーンを所定の解像度の点（ポイント）で表現してポイントスプラッティング処理によって大量の低解像度のシャドウマップ（ＩＳＭ）を生成する手法が開示されている。
【００４７】
一方で、リッチェルらの手法はＩＳＭの生成時に各ポイントの深度を算出しているが、これは光源による輝度演算に係る寄与が無限遠まで考慮されていることに依る。即ち、光源の属性やfall-off関数がいずれであれ、ＩＳＭは純粋に光源と各ポイントの方向に存在する最初のオブジェクトとの距離を算出したものであるため、該光源による陰影が生じることが前提となっている。つまり、光源から遠く離れた位置に配置されるオブジェクトを指し示すポイントについて、寄与が無視できるにも関わらず、不要なスプラッティング処理が発生する。
【００４８】
従って、このようなＩＳＭの生成においても、実施形態１に示したような確率的有効範囲を生成することで、不要な処理を除外することができる。即ち、例えば１つの光源に係るＩＳＭの生成において、ポイントに対応する深度値が該光源について求められた確率的有効範囲外であるのであれば反映させる必要がないので、ＩＳＭの生成に係る該ポイントはカリングすることができる。故に、上述したような不要なスプラッティング処理を行う必要なくなるため、結果的に画面の描画処理に係る全体の演算量を低減することができる。
【００４９】
［その他の実施形態］
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。また本発明に係る輝度演算装置は、１以上のコンピュータを該輝度演算装置として機能させるプログラムによっても実現可能である。該プログラムは、コンピュータが読み取り可能な記録媒体に記録されることにより、あるいは電気通信回線を通じて、提供／配布することができる。
【符号の説明】
【００５０】
１００：ゲームコンソール、１０１：制御部、１０２：記憶媒体、１０３：メモリ、１０４：描画部、１０５：輝度演算部、１０６：表示制御部、１０７：操作入力部
【図１】
0006393153.tif 000007
【図２】
0006393153.tif 000008
【図３】
0006393153.tif 000009
【図４】
0006393153.tif 000010