JP2017010508A - プログラム、記録媒体、輝度演算装置及び輝度演算方法 - Google Patents

プログラム、記録媒体、輝度演算装置及び輝度演算方法 Download PDF

Info

Publication number
JP2017010508A
JP2017010508A JP2015192187A JP2015192187A JP2017010508A JP 2017010508 A JP2017010508 A JP 2017010508A JP 2015192187 A JP2015192187 A JP 2015192187A JP 2015192187 A JP2015192187 A JP 2015192187A JP 2017010508 A JP2017010508 A JP 2017010508A
Authority
JP
Japan
Prior art keywords
virtual light
importance
light source
sum
map
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.)
Granted
Application number
JP2015192187A
Other languages
English (en)
Other versions
JP6619598B2 (ja
Inventor
雄介 徳吉
Yusuke Tokuyoshi
雄介 徳吉
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.)
Square Enix Co Ltd
Original Assignee
Square Enix Co Ltd
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 Square Enix Co Ltd filed Critical Square Enix Co Ltd
Priority to EP16172339.0A priority Critical patent/EP3109831B1/en
Priority to US15/174,077 priority patent/US10115228B2/en
Publication of JP2017010508A publication Critical patent/JP2017010508A/ja
Application granted granted Critical
Publication of JP6619598B2 publication Critical patent/JP6619598B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Generation (AREA)

Abstract

【課題】輝度演算に係る演算量を低減する。【解決手段】二次元マップに対応して生成された、シーンのインポータンスマップであって、要求された領域のインポータンスの総和が得られるデータ構造を有するインポータンスマップを取得する。そして所定数の合成仮想光源の各々について、インポータンスの総和が所定値となる合成領域をインポータンスマップにおいて設定し、所定数の合成仮想光源の各々について、設定した合成領域に対応する二次元マップの領域に基づいて該合成仮想光源のパラメータを決定する。このとき、各合成仮想光源に設定された合成領域に係るインポータンスの総和を所定数の合成仮想光源について合計した値が、インポータンスマップ全域のインポータンスの総和と対応するよう合成領域が設定される。【選択図】図2

Description

本発明は、プログラム、記録媒体、輝度演算装置及び輝度演算方法に関し、特に輝度演算に係る演算量を低減する技術に関する。
近年、グラフィックス描画の分野では、より写実的なグラフィックス表現を行うために大域照明(グローバルイルミネーション)の適用を行うことがなされている。グローバルイルミネーションに係る演算は、1つの点について様々な光源からの光路を考慮して演算を行うため、その再現精度に応じて演算量が増加し得る。特にリアルタイムレンダリングの分野では時間的制約が伴うため、グローバルイルミネーションについては演算量を低減する様々な手法が提案されている。
1つの手法として、光源が照らしているオブジェクトの各点について定められた位置と双方向反射分布関数(BRDF:Bidirectional Reflectance Distribution Function)のパラメータを含むリフレクティブシャドウマップ(RSM:Reflective Shadow Map)を用いる手法がある。RSMを用いる手法では、RSMの各画素がシーンに定義された光源に起因する間接照明(仮想点光源(VPL:Virtual Point Light))の各種パラメータを示しており、該画素を参照することで、演算対象点の放射輝度への各VPLの寄与を算出することができる。
一方で、RSMの全ての画素をVPLとして考慮する(放射輝度の演算において全VPLの寄与を総和する)ことは、寄与度が低いVPLについても演算を行うことになるため、通常はランダムサンプリングを行って近似解を得る方式が採用される。即ち、演算対象の物体表面上のある点xについて、視点への方向ωに係る放射輝度L(x,ω)を求めるレンダリング方程式
(ここで、Lin(x,ω')は入射放射輝度、fとnは物体表面のBRDFと法線)
をRSMの分解能レベルに限定したとしても演算量が多くなり得るため、VPLのランダムサンプリングを行って加重平均を行うモンテカルロ積分が採用される。
非特許文献1には、RSMに基づく二次元の確率密度関数(PDF:Probability Density Function)を表すインポータンスマップ(確率密度はインポータンスを正規化したもの)を定義し、k平均(k-means)法を用いて該マップを所定数のクラスタに分類(インポータンスが高いほど細かく分類)し、各クラスタに対応する領域のVPLを解析的に放射輝度を演算可能な1つの仮想光源に近似することで、RSMの分解能を低減し、放射輝度の演算量を低減する手法が開示されている。
ローマン・プラツキン(Roman Prutkin)、外2名著、「リアルタイムグローバルイルミネーションに係るリフレクティブシャドウマップのクラスタリング(Reflective shadow map clustering for real-time global illumination)」、Eurographics 2012 Short Papers、pp.9-12、2012年
しかしながら、非特許文献1に記載のk平均法は各画素について、各クラスタとの距離の算出の処理を行うため一般に演算量が多い。k平均法を用いて1つの画像に含まれる画素をクラスタリングする処理は、一般には画素とクラスタとの距離尺度として画素間の距離のみを使用し、図4のようにオーバーラップや間隙を有することなく、画像内の画素をボロノイ図状に分類することができる。非特許文献1では、このようなk平均法について異なる尺度を導入して演算の効率化は行っているが、やはりインポータンスマップの画素数と分類するクラスタ数とに応じた演算量が必要であり、演算を高速化しにくい態様であった。
本発明の少なくとも1つの実施形態は、上述の問題点に鑑みてなされたものであり、輝度演算に係る演算量を低減するプログラム、記録媒体、輝度演算装置及び輝度演算方法を提供することを目的とする。
前述の目的を達成するために、本発明の少なくとも1つの実施形態に係るプログラムは、コンピュータに、シーンの大域照明に係り定められた複数の仮想光源の空間分布及び各仮想光源のパラメータを示す二次元マップに基づき行われる輝度演算であって、該複数の仮想光源をより少ない所定数の合成仮想光源に近似して行われる輝度演算について、所定数の合成仮想光源それぞれのパラメータを決定する処理を行わせるプログラムであって、プログラムは、二次元マップに対応して生成された、シーンのインポータンスマップであって、要求された領域のインポータンスの総和が得られるデータ構造を有するインポータンスマップを取得する処理と、所定数の合成仮想光源の各々について、インポータンスの総和が所定値となる合成領域をインポータンスマップにおいて設定する処理と、所定数の合成仮想光源の各々について、設定された合成領域に対応する二次元マップの領域に基づいて該合成仮想光源のパラメータを決定する処理と、を有し、各合成仮想光源に設定された合成領域に係るインポータンスの総和を所定数の合成仮想光源について合計した値が、インポータンスマップ全域のインポータンスの総和と対応する。
このような構成により本発明の少なくとも1つの実施形態によれば、輝度演算に係る演算量を低減することが可能となる。
本発明の実施形態に係るPC100の機能構成を示したブロック図 本発明の実施形態に係るPC100において実行される合成仮想光源生成処理を例示したフローチャート 本発明の実施形態に係るPC100において実行される輝度演算処理を例示したフローチャート k平均法を用いた仮想光源のクラスタリングを説明するための図 本発明の実施形態に係る仮想光源のクラスタリングを説明するための図 本発明の実施形態に係る仮想光源のクラスタリングを説明するための別の図
[実施形態]
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、輝度演算装置の一例としての、リアルタイムグローバルイルミネーションを適用した画面を描画可能なPCに、本発明を適用した例を説明する。しかし、本発明は、描画機能を有さずとも放射輝度の演算を行うことが可能な任意の機器に適用可能である。
《PC100の構成》
図1は、本発明の実施形態に係るPC100の機能構成を示すブロック図である。
制御部101は、例えばCPU等であり、PC100が有する各ブロックの動作を制御する。制御部101は、記憶媒体102に記憶されている各ブロックの動作プログラムを読み出し、メモリ103に展開して実行することにより各ブロックの動作を制御する。
記憶媒体102は、例えば書き換え可能なROMやHDD、あるいは所定の光学ドライブに装填されることにより読み取り可能になる光学メディア等の着脱可能な記録媒体を含む、恒久的にデータを保持可能に構成された不揮発性の記憶装置である。記憶媒体102は、PC100が有する各ブロックの動作プログラムに加え、各ブロックの動作において必要なパラメータ、及び大域照明演算を伴うアプリケーションデータやプログラム等を格納する。
メモリ103は、例えばRAM等の揮発性の記憶装置である。メモリ103は、各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力された中間データ等を一時的に記憶する格納領域として用いられる。
描画部104は、例えばGPU等のゲーム画面に係る描画処理を行う描画装置である。描画部104は、ゲームに係る処理の結果生成された描画命令に応じてゲーム画面の描画を行う。また、GPUは複数処理の並行演算処理能力に長けているため、描画部104は制御部101、クラスタリング部105、輝度演算部106が実行する処理を代替して行ってもよい。また描画部104は、描画対象のシーンに係るインポータンスマップやRSM(または環境マップ)の生成も行う。インポータンス(確率密度に比例)は、例えば輝度の高さ、描画対象点との距離等、どのような基準に基づいて定められるものであってもよい。なお、以下の説明において、特に輝度演算における重要度の側面で言及する際には「インポータンス」、輝度演算において考慮される寄与度の側面で言及する際には「確率密度」を主に用いて説明するが、両者は同義で用いられている文言として理解されてよい。
クラスタリング部105は、シーンに定義される複数の仮想光源(VPL)をクラスタリングし、後述する輝度演算処理において演算の対象となる、予め定められた数の光源を生成する処理を行う。本実施形態の輝度演算処理では、合成仮想光源生成処理後の光源、即ちクラスタ数の光源のみを演算対象(サンプリング対象)として寄与を考慮する。換言すれば、輝度演算処理においてサンプリング対象となるクラスタについては、該クラスタ内に定義された全VPLの輝度を表現し得るよう、クラスタごとのサイズ、該クラスタ内のVPLの放射輝度の総和に応じたパラメータを用いて、各クラスタ内の複数のVPLが1つの仮想光源として近似される。本実施形態で行われる輝度演算処理では、シーン内の光源の情報(各種パラメータ)は上述したようなRSMや環境マップ等、画像ベースで取得される。
輝度演算部106は、後述する輝度演算処理を実行し、描画部104により描画されるゲーム画面において、該画面内に配置される各オブジェクトの輝度を画素単位で求める。即ち、輝度演算部106は、クラスタリングの結果得られたクラスタごとに生成された光源(合成仮想光源)からの寄与を加算することで各画素の輝度を演算する。
表示制御部107は、輝度演算部106により描画されたゲーム画面を、PC100に接続された表示装置に所定の頻度(フレームレート)で出力する表示制御を行う。表示装置は、PC100に外部接続するものであってもよいし、PC100と同一の筐体に内蔵されるものであってもよい。
操作入力部108は、例えばアナログスティックやボタン、キーボード、マウス、タッチ検出センサ等の、PC100が有する操作入力を行うためのユーザインタフェースである。操作入力部108は、なされた操作入力を検出すると該操作入力を識別するための情報を制御部101に伝送する。本実施形態のPC100では、操作入力部108により受け付けられた操作入力に応じて、表示出力される画面の描画内容が変化し得るため、毎フレームの画面描画に際し、操作入力に応じた各種処理がなされる。
《解決手法概要》
以下、上述の課題を解決するために、輝度演算処理に際し、寄与を考慮する光源数を低減しつつ、好適な輝度表現がなされる合成仮想光源の生成を行うクラスタリング手法について説明する。本手法では、クラスタリングにおいては演算量低減のためにk平均法は用いず、合成仮想光源のパラメータ取得も効率化するためにクラスタ内のVPLのパラメータの平均から求める。
〈FIS:Filtered Importance Sampling〉
ところで、輝度演算に係るモンテカルロ積分における分散を低減するために、Krivanekらが提案(Jaroslav Krivanek、外1名著、"Real-time shading with filtered importance sampling"、Eurographics Symposium on Rendering 2008、Volume 27 Number 4、pp.1147-1154、2008年)するFIS(Filtered Importance Sampling)がある。
Krivanekらが基にしているインポータンスサンプリングは、演算対称点の反射方向の分布(BRDF)に従って確率密度関数(PDF)を定義し、これに基づきサンプリングを行う方向を決定している。具体的には、確率密度の高い方向に対しては密なサンプリングを行い、確率密度が低い方向に対しては疎なサンプリングを行う。Krivanekらの手法では、更にサンプリング用に設定したサンプリング方向の確率密度に従って、環境マップ(天球をマッピングした画像)からパラメータ取得が行われる。このとき環境マップは予めミップマップ化されており、サンプリング方向の確率密度に対応するミップレベルの環境マップから、サンプリング方向の領域に係る画素の値が光源のパラメータとして取得される。即ち、Krivanekらの手法では環境マップが予めフィルタリング(ミップマップ化)されており、サンプリング時には確率密度に応じた面積(確率密度が高いほど重みが高いため、面積が小さくなる)の領域に相当するミップレベルの画素(該領域の平均に基づく画素値を有する)からパラメータを取得できるため、演算量の低減が実現される。
より詳しくは、通常のインポータンスに応じたサンプリング(インポータンスサンプリング)では、レンダリング方程式は
で近似される(ここで、ωiはサンプリング方向のベクトル、fはBRDFとコサイン項の積、Leは環境マップから取得される放射輝度、pはPDF)ため、
であることが理想的となる。しかしながら、上記の式を満たすPDFを効率的に計算するのは難しい。そこで
という簡単なPDFを用いることが多い。しかしながら、画像で与えられる全周囲の環境マップから輝度を取得する場合、環境マップのダイナミックレンジが広くなり得るため上記条件が成立しがたく、ノイズの要因となる。
一方で、FISではミップレベルliが考慮されるため、レンダリング方程式は
で近似される。なお、liは最大のミップレベル(最下層(分解能が高い)のミップレベル)をlmaxとすると
となる。即ち、密度(N・p(ωi))が高ければ分解能の高い環境マップから値取得がなされ、密度が低ければ分解能の低い環境マップから値取得がなされる。ここで、ミップマップから対応する領域のフィルタリングされた値を取得するためLeは1つのサンプリング方向あたり1つの値を参照すればよい。FISでは
であるとき、推定値がフィルタリングされた値のみとなるので、ノイズを低減することができる。
このようにKrivanekらによるFISでは、描画対象のシーンに係る画面の画素について、該画素に描画されるオブジェクトのBRDFに応じて、サンプリングする環境マップのミップレベルを異ならせることで演算量を低減している。一方、本発明はインポータンスマップに応じた光源のクラスタリングにおいて好適な輝度演算結果を担保しつつ、演算量の低減を実現する。
〈光源クラスタリングへのFISの応用〉
KrivanekらのFISでは、決定したサンプル点について、該サンプル点の確率密度に応じて参照するミップレベルの画像から値取得が行われる。本発明における合成光源のパラメータはRSMのクラスタ内の画素の平均値から求められるので、FISを用いることで重複や間隙のある近似的なクラスタリングが実現可能であるように思える。しかしながら実際には、KrivanekらのFISを単純にk平均法に代替して適用する場合、好適な輝度演算結果とならない場合がある。これは、PDFの二次元分布であるインポータンスマップに設定したクラスタの中心点の値(確率密度)に応じてクラスタサイズ(ミップレベルに対応)を定めるた場合、図4のようなk平均法で重複や間隙のないクラスタリングを行う場合とは異なり、クラスタの重複や間隙の度合いが極めて大きくなり得ることによる。
例えば、PDFの1次元(x方向)の分布が図5(a)に中間色で示されるようであり、サンプル点(円)が図示されるように設定された場合、確率密度が急峻に低下したサンプル点501においてはインポータンスが低いため、クラスタサイズ502が大きくなる。即ち、サンプル点501と近辺のサンプル点との間でそれぞれを領域内に含むクラスタに重複(オーバーラップ)が生じる。結果、クラスタについて1つの合成仮想光源を定義した場合に、サンプル点501に係る合成仮想光源が不自然なエネルギ増を引き起こし、良好な近似とならない(理想値からの誤差が増加する)可能性があった。換言すれば、設定されたサンプル点の間で確率密度に差がある場合、FISを応用する手法では1つのVPLが複数のクラスタに分類され得るため、フレーム間でサンプル点が変化する際等、特定の画素が明滅するようなフリッカを生じる可能性があった。これは、全クラスタ内の確率密度を合計した場合に、最大値である1を超え得ることによる。
また、k平均法ではなくFISの技術を光源のクラスタリングに応用した場合、クラスタの重複だけでなく、設定されるサンプル点の位置及び該点の確率密度に応じて定められた矩形領域(クラスタ)の面積によっては、クラスタ間に間隙も生じうる。即ち、シーンに係る複数のVPLをより少ない数の合成仮想光源に近似したとしても、考慮されないVPLが発生し得る。つまり、全クラスタに係る合成仮想光源のエネルギの総和と、シーンに係る複数のVPLのエネルギの総和との間に差が生じ得、結果、理想的な輝度値からの誤差を有する近似解が輝度演算処理において得られることになる。このことも、全クラスタ内の確率密度を合計した場合に、最大値である1にならないことの要因となる。
本実施形態のPC100では、このような近似による理想値との誤差を低減し得るよう、各サンプル点に係るクラスタ内の確率密度の総和が等しくなり、かつ全クラスタの確率密度の合計が1となるようにするクラスタリング処理を行う。即ち、各クラスタ内の確率密度の総和がサンプル数の逆数、即ちクラスタ数の逆数となるように、以下の式に基づき各サンプル点に係るクラスタの面積を決定する。
ここで、Ωiは1つのクラスタを指し、Nがクラスタ数またはサンプル数を示す。
このようにすることで、図5(a)のような設定したサンプル点の確率密度が周囲のサンプル点に比べて低い場合であっても、図5(b)に示すようにサンプル点周囲のPDFの分布に応じてクラスタサイズ503が決定されることになる。結果、クラスタ間のオーバーラップを低減することができる。また、図6に示されるようにクラスタ間のオーバーラップや間隙は生じうるが、各クラスタで確率密度の総和が1/Nとなるよう面積が決定されているため、輝度演算にて全サンプルについて総和演算を行えばトータルで確率密度1(100%:シーン全体分)が担保される。このとき、各クラスタについて定義した面積は、図4のようにオーバーラップや間隙なくクラスタリングした場合に近い面積を有しており、全クラスタの面積の総和がインポータンスマップの面積と近似的に等しくなる。
従って、本実施形態のPC100では仮想光源の合成仮想光源生成処理において、合成仮想光源のパラメータとなる値を、FISのように単に各クラスタに含まれるサンプル点の確率密度に対応したミップレベルのRSMや環境マップから取得するのではなく、クラスタ内の確率密度の総和を考慮したミップレベルのマップから取得する。より詳しくは、インポータンスマップにおいて各クラスタ内の確率密度の総和がクラスタ数の逆数となるように(数式1)、サンプル点各々についてクラスタを決定する。このとき、クラスタサイズは、合成仮想光源のパラメータ取得において参照されるRSMや環境マップとの対応付けがなされる、ミップレベルを用いて
のように近似される。
ここで、インポータンスマップは使用するRSMまたは環境マップの最高分解能と同じ画素数で構成されており、RSMまたは環境マップと同様にミップマップ化されているものとする。つまり、インポータンスマップもミップマップ化することで、特定の正方領域内の確率密度の総和を対応するミップレベルの画素から取得することができるため、上記式のミップレベルliは二分法により解くことが可能である。またこのようにミップマップ化したインポータンスマップのミップレベルは、合成仮想光源のパラメータ取得に係るマップのミップレベルと対応しているため、クラスタのサイズがミップレベルにより定まった後は、FIS同様に該ミップレベルのRSM等からパラメータ取得を容易に行うことができる。
また、このようにして得られたliを用いることで、各クラスタ内のエネルギqの総和についても同様に
として近似することができる。
《合成仮想光源生成処理》
このような本実施形態のPC100において実行される合成仮想光源生成処理について、図2のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、制御部101が例えば記録媒体102に記憶されている対応する処理プログラムを読み出し、メモリ103に展開して実行することにより実現することができる。なお、本合成仮想光源生成処理は、画面に係るシェーディング処理に先立って実行されるものとして説明する。また、以下の合成仮想光源生成処理では、RSMを参照して仮想光源の各種パラメータを取得するものとして説明する。
S201で、描画部104は、描画対象のシーンについて定義される仮想光源(VPL)の情報を含むミップマップ化されたRSMを生成する。RSMは、描画対象のシーンについての深度、法線、反射率、面の粗さ等の、シェーディングに係る反射の演算に必要な各種パラメータのチャネルを有する。
S202で、描画部104は、描画対象のシーンについて、所定の基準に従ってPDFの二次元分布であるインポータンスマップを生成する。上述したように、何を基準としてインポータンスとすべきかは、アプリケーションごとにデザイナ等によって定められるものであってよい。本ステップにおいて生成されるインポータンスマップは、RSMに対応して生成されるものであり、RSMの最大解像度と同一の画素数を有するものとする。
S203で、描画部104は、S202において生成したインポータンスマップをミップマップ化する。
S204で、クラスタリング部105は、演算に考慮する仮想光源数を低減すべく、合成仮想光源を生成するサンプル点をインポータンスマップ(最大解像度)上に設定する。サンプル点の設定は、確率密度の分布に応じて行われるものであり、クラスタリング部105は予め定められたクラスタの数(N)だけサンプル点を設定する。
S205で、クラスタリング部105は、各サンプル点について内部の確率密度の総和が1/Nとなるクラスタを決定する。クラスタリング部105は各サンプル点につき、ミップマップ化したインポータンスマップから該サンプル点を含む領域に対応する画素を順次ミップレベルを変化させながら参照し、領域の確率密度の総和が1/Nとなるミップレベルを探索する。
S206で、クラスタリング部105は、各サンプル点について探索したミップレベルに基づき、ミップマップ化されたRSMの対応する画素から、合成仮想光源生成に必要な各種パラメータを取得する。上述したように、本実施形態のインポータンスマップとRSMとは同一の最大解像度を有する画像からミップマップ化されたものであるため、クラスタリング部105は、各サンプル点について、探索により得られたミップレベルのRSMの対応する位置の画素からパラメータを取得する。
S207で、クラスタリング部105は、取得した各種パラメータに基づき、各サンプル点について合成仮想光源を生成する。合成仮想光源は、例えばクラスタ内に定義されている複数のVPLを1つの仮想球面光源として表現するものであってよく、該仮想球面光源の各種パラメータの設定に取得されたパラメータが用いられる。また本実施形態のPC100では、後述する輝度演算処理における演算を効率化するために、サンプル点のBRDFと合成仮想光源の拡がり(クラスタの面積に相当)を球面ガウス関数で近似した仮想球面ガウス関数光源(VSGL:Virtual Spherical Gaussian Light)として合成仮想光源を定義する手法を用いる。球面ガウス関数近似を行って放射輝度演算を行う手法は、Yusuke Tokuyoshi著、"Virtual spherical gaussian lights for real-time glossy indirect illumination"、SIGGRAPH Asia 2014 Technical Briefs、Article No. 17、pp.1-4、2014年に開示される。なお、合成仮想光源はVSGLで定義される必要はなく、従来の光源クラスタリングで用いられている手法で定義されてよいことは言うまでもない。
本合成仮想光源生成処理により、RSMを用いて間接照明に係る輝度演算を行う手法において、RSMに定義される複数のVPLを、その確率密度の分布に応じた所定数のVSGLで近似することができ、演算量を低減することができる。また単純にミップマップ化したインポータンスマップから値を取得してクラスタを定めることができるため、設定したクラスタの中心点と各画素との距離を都度算出するk平均法を用いる場合よりも演算量を低減できる。さらに、本実施形態の合成仮想光源生成処理では、単純にFISを適用してクラスタサイズを定めるのではなく、クラスタ内の確率密度の総和を全クラスタにつき合計した場合に1を超えないようクラスタサイズを定めるため、光源近似に係る誤差を低減することができる。
《輝度演算処理》
次に、合成仮想光源生成処理により生成されたクラスタ数のVSGLからの寄与を演算する輝度演算処理(シェーディング処理)について、図3のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、制御部101が、例えば記録媒体102に記憶されている対応する処理プログラムを読み出し、メモリ103に展開して実行することにより、輝度演算部106に実現させることができる。なお、本輝度演算処理は、例えば生成する画面の各画素に描画されるオブジェクトの情報が確定した後に開始されるものとして説明する。
S301で、輝度演算部106は、描画する画面のうちのまだ間接光源に起因する輝度の影響を演算していない画素(対象画素)を選択する。
S302で、輝度演算部106は、生成したVSGLの各々からの対象画素への寄与に基づく対象画素の放射輝度を演算し、結果を格納する。放射輝度は、レンダリング方程式をVSGLごとに解析的に解くことにより得られる。
S303で、輝度演算部106は、描画する画面の全ての画素について間接光源に起因する輝度の演算を完了したか否かを判断する。輝度演算部106は、演算が完了していると判断した場合は本輝度演算処理を完了し、演算が完了していないと判断した場合は処理をS301に戻す。
このように、合成仮想光源生成処理と、合成仮想光源生成処理により生成された合成仮想光源についてのみ寄与を考慮する輝度演算処理を行うことで、全体として間接照明に係る描画表現を行うための演算量の低減が実現される。
[変形例]
上述した実施形態では、いずれのミップレベルのRSMからパラメータ取得を行うかの決定に際し、ミップマップ化されたインポータンスマップを用いて各クラスタの確率密度の総和を探索するものとして説明した。これは、各ミップレベルの画素がマップ内の正方領域に対応しており、拡がり(形状)を球状の合成仮想光源として近似しやすい側面があったが、本発明の実施は上記手法に限られるものではない。本発明は、インポータンスマップを用いた探索において、所定の矩形領域の画素の総和値を簡易的に(1オーダーで)取得可能なデータ構造を用いるものであれば適用可能であり、例えばSummed Area Table(SAT)等を用いても演算量の低減を実現することが可能である。
なお、SATを用いる場合は、ミップマップのように各ミップレベルの画素に対応する領域が固定的なケースとは異なり、動的に矩形状を設定でき、かつ矩形領域内の総和値を厳密に取得できるため、オーバーラップがより少なく、かつ好適な近似結果を得ることができる。
[その他の実施形態]
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。また本発明に係る輝度演算装置は、コンピュータを該輝度演算装置として機能させるプログラムによっても実現可能である。該プログラムは、コンピュータが読み取り可能な記録媒体に記録されることにより、あるいは電気通信回線を通じて、提供/配布することができる。
101:制御部、102:記録媒体、103:メモリ、104:描画部、105:クラスタリング部、106:輝度演算部、107:表示制御部、108:操作入力部

Claims (10)

  1. コンピュータに、シーンの大域照明に係り定められた複数の仮想光源の空間分布及び各仮想光源のパラメータを示す二次元マップに基づき行われる輝度演算であって、該複数の仮想光源をより少ない所定数の合成仮想光源に近似して行われる輝度演算について、前記所定数の合成仮想光源それぞれのパラメータを決定する処理を行わせるプログラムであって、
    前記プログラムは、
    前記二次元マップに対応して生成された、前記シーンのインポータンスマップであって、要求された領域のインポータンスの総和が得られるデータ構造を有するインポータンスマップを取得する処理と、
    前記所定数の合成仮想光源の各々について、インポータンスの総和が所定値となる合成領域を前記インポータンスマップにおいて設定する処理と、
    前記所定数の合成仮想光源の各々について、設定された前記合成領域に対応する前記二次元マップの領域に基づいて該合成仮想光源のパラメータを決定する処理と、を有し、
    各合成仮想光源に設定された前記合成領域に係るインポータンスの総和を前記所定数の合成仮想光源について合計した値が、前記インポータンスマップ全域のインポータンスの総和と対応するプログラム。
  2. 各合成光源に設定された前記合成領域に係るインポータンスの総和が、前記インポータンスマップ全域のインポータンスの総和を前記所定数で除した値に対応する請求項1に記載のプログラム。
  3. 前記二次元マップも前記データ構造を有し、
    各合成仮想光源のパラメータは、該合成仮想光源について設定された前記合成領域に対応する前記二次元マップの領域のパラメータの総和に基づいて決定される請求項1または2に記載のプログラム。
  4. 各合成仮想光源が、該合成仮想光源につき設定された前記合成領域の大きさと、該合成領域に対応する前記二次元マップの領域のパラメータの総和に基づく値に基づいて定められる、該合成仮想光源を定義する位置を中心とした仮想球光源である請求項1乃至3のいずれか1項に記載のプログラム。
  5. パラメータが決定された前記所定数の合成仮想光源に基づき、前記シーンの大域照明に係る輝度演算処理を、前記コンピュータにさらに実行させる請求項1乃至4のいずれか1項に記載のプログラム。
  6. 前記データ構造が、空間分解能が異なる複数のレベルを有するミップマップであり、
    ミップマップの各画素値が、最も空間分解能が高いレベルのミップマップの、該画素に対応する領域の画素値の総和に基づく請求項1乃至5のいずれか1項に記載のプログラム。
  7. 前記二次元マップが、リフレクティブシャドウマップまたは環境マップである請求項1乃至6のいずれか1項に記載のプログラム。
  8. 請求項1乃至7のいずれか1項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
  9. シーンの大域照明に係り定められた複数の仮想光源の空間分布及び各仮想光源のパラメータを示す二次元マップに基づき行われる輝度演算であって、該複数の仮想光源をより少ない所定数の合成仮想光源に近似して行われる輝度演算を実行する輝度演算装置であって、
    前記二次元マップに対応して生成された、前記シーンのインポータンスマップであって、要求された領域のインポータンスの総和が得られるデータ構造を有するインポータンスマップを取得する取得手段と、
    前記所定数の合成仮想光源の各々について、インポータンスの総和が所定値となる合成領域を前記インポータンスマップにおいて設定する設定手段と、
    前記所定数の合成仮想光源の各々について、設定された前記合成領域に対応する前記二次元マップの領域に基づいて該合成仮想光源のパラメータを決定する決定手段と、を有し、
    各合成仮想光源に設定された前記合成領域に係るインポータンスの総和を前記所定数の合成仮想光源について合計した値が、前記インポータンスマップ全域のインポータンスの総和と対応する輝度演算装置。
  10. シーンの大域照明に係り定められた複数の仮想光源の空間分布及び各仮想光源のパラメータを示す二次元マップに基づき行われる輝度演算であって、該複数の仮想光源をより少ない所定数の合成仮想光源に近似して行われる輝度演算を実行する輝度演算方法であって、
    前記二次元マップに対応して生成された、前記シーンのインポータンスマップであって、要求された領域のインポータンスの総和が得られるデータ構造を有するインポータンスマップを取得する取得工程と、
    前記所定数の合成仮想光源の各々について、インポータンスの総和が所定値となる合成領域を前記インポータンスマップにおいて設定する設定工程と、
    前記所定数の合成仮想光源の各々について、設定された前記合成領域に対応する前記二次元マップの領域に基づいて該合成仮想光源のパラメータを決定する決定工程と、を有し、
    各合成仮想光源に設定された前記合成領域に係るインポータンスの総和を前記所定数の合成仮想光源について合計した値が、前記インポータンスマップ全域のインポータンスの総和と対応する輝度演算方法。
JP2015192187A 2015-06-22 2015-09-29 プログラム、記録媒体、輝度演算装置及び輝度演算方法 Active JP6619598B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP16172339.0A EP3109831B1 (en) 2015-06-22 2016-05-31 Program, recording medium, luminance computation apparatus, and luminance computation method
US15/174,077 US10115228B2 (en) 2015-06-22 2016-06-06 Recording medium, luminance computation apparatus, and luminance computation method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562182762P 2015-06-22 2015-06-22
US62/182,762 2015-06-22

Publications (2)

Publication Number Publication Date
JP2017010508A true JP2017010508A (ja) 2017-01-12
JP6619598B2 JP6619598B2 (ja) 2019-12-11

Family

ID=57761679

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015192187A Active JP6619598B2 (ja) 2015-06-22 2015-09-29 プログラム、記録媒体、輝度演算装置及び輝度演算方法

Country Status (1)

Country Link
JP (1) JP6619598B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018141653A (ja) * 2017-02-27 2018-09-13 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
JP2020523691A (ja) * 2017-06-09 2020-08-06 株式会社ソニー・インタラクティブエンタテインメント 中心窩レンダリングシステムにおける、遅延ライティングの最適化、パーティクルの中心窩適応、及びシミュレーションモデル

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018141653A (ja) * 2017-02-27 2018-09-13 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
JP2020523691A (ja) * 2017-06-09 2020-08-06 株式会社ソニー・インタラクティブエンタテインメント 中心窩レンダリングシステムにおける、遅延ライティングの最適化、パーティクルの中心窩適応、及びシミュレーションモデル
JP2021047883A (ja) * 2017-06-09 2021-03-25 株式会社ソニー・インタラクティブエンタテインメント 中心窩レンダリングシステムにおける、遅延ライティングの最適化、パーティクルの中心窩適応、及びシミュレーションモデル
JP7050883B2 (ja) 2017-06-09 2022-04-08 株式会社ソニー・インタラクティブエンタテインメント 中心窩レンダリングシステムにおける、遅延ライティングの最適化、パーティクルの中心窩適応、及びシミュレーションモデル

Also Published As

Publication number Publication date
JP6619598B2 (ja) 2019-12-11

Similar Documents

Publication Publication Date Title
US10115229B2 (en) Reinforcement learning for light transport
US10482196B2 (en) Modeling point cloud data using hierarchies of Gaussian mixture models
JP4733454B2 (ja) シェルテクスチャ関数
US11790594B2 (en) Ray-tracing with irradiance caches
US8854392B2 (en) Circular scratch shader
JP5731566B2 (ja) 情報処理装置、制御方法、及び記録媒体
Kolivand et al. Realistic real-time outdoor rendering in augmented reality
KR20160011486A (ko) 하이브리드 렌더링 방법 및 장치
Zhai et al. GPU-based real-time terrain rendering: Design and implementation
US10417813B2 (en) System and method for generating temporally stable hashed values
CN117333637B (zh) 三维场景的建模及渲染方法、装置及设备
JP6619598B2 (ja) プログラム、記録媒体、輝度演算装置及び輝度演算方法
JP5937957B2 (ja) リアルタイム大局照明レンダリングシステム
JP6049327B2 (ja) 画像処理装置およびその制御方法
EP3109831B1 (en) Program, recording medium, luminance computation apparatus, and luminance computation method
JP2017129991A (ja) 画像処理装置およびその方法
JP6393153B2 (ja) プログラム、記録媒体、輝度演算装置及び輝度演算方法
US11830125B2 (en) Ray-guided water caustics
US11941782B2 (en) GPU-based lens blur rendering using depth maps
US20230274493A1 (en) Direct volume rendering apparatus
González et al. Combining displacement mapping methods on the GPU for real-time terrain visualization
Kuder et al. Point-based rendering optimization with textured meshes for fast LiDAR visualization
JP6235926B2 (ja) 情報処理装置、生成方法、プログラム及び記録媒体
US9111395B2 (en) Automatic placement of shadow map partitions
US20180005432A1 (en) Shading Using Multiple Texture Maps

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181001

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191025

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: 20191101

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191115

R150 Certificate of patent or registration of utility model

Ref document number: 6619598

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250