JP2013117992A - リアルタイム大局照明レンダリングシステム - Google Patents
リアルタイム大局照明レンダリングシステム Download PDFInfo
- Publication number
- JP2013117992A JP2013117992A JP2013036432A JP2013036432A JP2013117992A JP 2013117992 A JP2013117992 A JP 2013117992A JP 2013036432 A JP2013036432 A JP 2013036432A JP 2013036432 A JP2013036432 A JP 2013036432A JP 2013117992 A JP2013117992 A JP 2013117992A
- Authority
- JP
- Japan
- Prior art keywords
- estimated
- distribution function
- path
- roughness
- density
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/506—Illumination models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
Abstract
【課題】 本発明は,アーティファクトが生じないリアルタイム大局照明レンダリングシステムを提供することを目的とする。
【解決手段】 サンプリング結果を用いて適切な鏡面の荒さを推定し,推定鏡面荒さを用いてシェーディングを行うことで,アーティファクトが生じないリアルタイム大局照明レンダリングを行うことができる。
【選択図】図1
【解決手段】 サンプリング結果を用いて適切な鏡面の荒さを推定し,推定鏡面荒さを用いてシェーディングを行うことで,アーティファクトが生じないリアルタイム大局照明レンダリングを行うことができる。
【選択図】図1
Description
本発明は,サンプリング結果を用いて適切な鏡面反射の荒さを推定し,その推定鏡面荒さを用いてシェーディングを行うことで,アーティファクトが抑圧されたリアルタイム大局照明レンダリングシステムに関する。
コンピュータグラフィックスにおいて,現実に近い物体の輝度を求めるため,大局照明(GI)によるレンダリングが行われる。大局照明は,光源からの直接光成分のみならず,間接光成分をも考慮する照明計算である。間接光について,どの方向にどのくらいの強度で光が反射されるかを表わすため,双方向反射率分布関数(BRDF)が用いられる。
大局照明において,間接光成分を求める方法として,ファイナルギャザリング(下記非特許文献1)が知られている。ファイナルギャザリングは,複数の光線を追跡し,間接光成分を求める方法である。
また,間接光成分を求める手法として,仮想点光源を用いたインスタントラジオシティ法が知られている(下記非特許文献2)。また,同じ方向の光線を一度に追跡する手法としてレイバンドルズ(Ray−Bundles)がある。
どの方向にどのくらいの強度で光が反射されるかを表わすため,双方向反射率分布関数(BRDF)が提案されている。すでに知られたBRDFのモデルの例は,拡散反射を表わすランバートモデル,鏡面反射を表わすフォンモデル,ブリンのモデル,及びクック・トランスのモデルである。
HACHISUKA, T. 2005. High-quality global illumination renderingusing rasterization. In GPU Gems 2. Addison-Wesley Professional,ch. 38, 615〜634.
KELLER, A. 1997. Instant radiosity. In ACM SIGGRAPH ’97,49〜56.
従来の方法に基づいて大局照明(GI)によるレンダリングを実現しようとすると,アーティファクトが生ずるという問題がある。また,レイバンドルズ(Ray−Bundles)は,鏡面反射でのサンプリング効率が悪いという問題がある。オフラインレンダリングの場合,サンプル数を増やすことで,レイバンドルズによっても現実に近いコンピュータグラフィックスを得ることができる。しかしながら,計算数が増加するため,レイバンドルズは,リアルタイムレンダリングに向かない。
鏡面反射モデルについてレイバンドルズ(Ray−Bundles)又はインスタントラジオシティを用いてシェーディングを行った場合,シャープなアーティファクトが生ずるという問題がある。
そこで,本発明は,アーティファクトが生じないリアルタイム大局照明レンダリングシステムを提供することを目的とする。
本発明は,基本的には,サンプリング結果を用いて適切な鏡面の荒さを推定し,求めた推定鏡面荒さ(αi)を用いてシェーディングを行うことで,アーティファクトが生じないリアルタイム大局照明レンダリングを行うことができるという知見に基づく。
本発明の第1の側面は,サンプリング結果を用いてアーティファクトが生じない適切な鏡面の荒さを推定し,その推定鏡面荒さを用いてシェーディングを行うコンピュータによるシェーディング方法に関する。この方法は,サンプリング工程(S101)と,推定鏡面荒さ取得工程(S102)とを含む。推定鏡面荒さを得た後は,通常の方法に基づいてシェーディングを行えばよい。
サンプリング工程(S101)は,仮想光源からある対象物において反射してある視点へ至る光の経路を複数のサンプルについてサンプリングする工程である。
推定鏡面荒さ取得工程(S102)は,サンプリング工程で得られた経路を用いて,対象物表面における分布関数を得て,分布関数の最大値が所定の値以下となるように演算処理することで,対象物表面の推定鏡面荒さを得るための工程である。この工程により求められた推定鏡面荒さを用いることで,アーティファクトが生じないリアルタイム大局照明レンダリングを行うことができる。
本発明の第2の側面は,サンプリング結果を用いてアーティファクトが生じない適切な鏡面の荒さを推定し,シェーディングを行うコンピュータグラフィックシステムに関する。つまり,このシステムは,第1の側面のサンプリング方法を実現するコンピュータグラフィックスシステムである。このシステムは,サンプリング部101と,推定鏡面荒さ取得部102とを有する。
サンプリング部101は,仮想光源からある対象物において反射してある視点へ至る光の経路を複数のサンプルについてサンプリングするための要素である。
推定鏡面荒さ取得部102は,サンプリング部で得られた経路を用いて,分布関数の最大値が所定の値以下となるように演算処理することで,対象物表面の推定鏡面荒さを得るための要素である。
本発明のシェーディング方法は,上記の方法に基づくため,少ない数のサンプリングデータに基づいて,アーティファクトを抑制した対象物表面の推定鏡面荒さ(αi)を求めて,シェーディングを行うことができる。よって,本発明のシェーディング方法を用いれば,特に鏡面反射を含むシーンについてリアルタイム大局照明レンダリングを実現できることとなる。
図1は,本発明の第1の態様に関するシェーディング方法の例を説明するためのフローチャートである。図1に示されるように,この方法は,サンプリング工程(S101)と,推定鏡面荒さ取得工程(S102)とを含む。鏡面荒さパラメータ(α)を用いたシェーディングはすでに知られている。したがって,本発明は,推定鏡面荒さ(αi)を得た後は,推定鏡面荒さ(αi)を鏡面荒さパラメータとして用い,通常の方法に基づいてシェーディングを行えばよい。
図2は,第1の態様に係るコンピュータグラフィックシステムのブロック図である。図2に示されるコンピュータグラフィックシステムは,サンプリング結果を用いてアーティファクトが生じない適切な鏡面の荒さを推定し,シェーディングを行うシステムである。図2に示されるシステムは,サンプリング部101と,推定鏡面荒さ取得部102とを有する。このシステムは,特に図示しないものの,表示部と,得られた推定鏡面荒さ(αi)を用いてシェーディングを行うシェーディング部を有するものが好ましい。これにより,このシステムは,得られた推定鏡面荒さ(αi)を用いてコンピュータグラフィックスを得て,これを表示部に表示させることができる。
図3は,間接照明の光路を説明するための図である。光源11からの光は,たとえば,壁13のある点15で反射し,対象物17の表面上のある点19において反射する。この点15が仮想光源となる。そして,ある点19で反射した光は,視点20へと到達する。この光路は,たとえば,コンピュータが,視点20,対象物17の表面,壁13及び光源11の座標を記憶部から読み出し,光路を求める演算を行うことで求めることができる。そして,このシステムは,例えば,座標値と関連して,反射に関する係数を設計できるようにされている。このため,コンピュータは,例えば,記憶部に,対象物17上のある点19及び壁13のある点15に関連した反射に関する係数を記憶する。この係数は,例えば,データベースに記憶されても良いし,バッファに一時的に記憶されても良い。そして,コンピュータは,対象物17上のある点19及び壁13のある点15における反射に関する係数を読み出す。このコンピュータは,読みだした係数を用いて,反射経路を求めることができるものであってもよい。このようにして,コンピュータは,仮想光源15からある対象物17において反射して,ある視点20へ至る光の経路をサンプリングできる。
なお,実際の計算に当たっては,視点20から複数の光線を発射し,ある点19で反射した光が,壁13のある点15で反射し,光源11へと到達する光路を求めても良い。また,視点20と対象物17との間に仮想スクリーンを求めてもよい。そして,そのスクリーン上のサンプルと視点20とを接続し,複数の視線を求めてもよい。さらに,複数の視線のうち,対象物17に到達するものを求めてもよい。この光路を求める方法は,例えばレイトレーシング法において既に知られている。また,実際の計算においては,視点20から複数の光線を発射し,複数の地点で反射した光が,他の点で反射し,光源11へと到達する光路を求めても良い。
サンプリング部101は,光源11からある対象物17において反射してある視点20へ至る光の経路を複数のサンプル(サンプリングポイント)についてサンプリングするための要素である。この要素は,プログラム,制御装置,演算装置及び記憶装置等により実装される。サンプルは,たとえば,視線経路中の仮想スクリーン上の点であってもよい。
推定鏡面荒さ取得部102は,サンプリング部で得られた経路を用いて,対象物の表面の推定鏡面荒さ(αi)を得るための要素である。推定鏡面荒さ取得部102は,サンプリング部で得られた経路を用いて,視線と物体との交点(衝突点)を求め,この交点における分布関数を求める。この分布関数は座標と関連して記憶部に記憶されている。このため,交点の座標を用いて記憶部から分布関数を読み出すことができる。この分布関数は,所定の関数により表現されるものであり,物体表面の荒さパラメータαを用いて表現される。分布関数は,物体表面の荒さを示す関数といえる。この物体表面の荒さパラメータαは既知であり,たとえば,座標値又は物体と関連して記憶部に記憶されている。そして,推定鏡面荒さ取得部102は,経路の密度を求め,分布関数を経路の密度を用いて表現し,分布関数の最大値が所定の値以下となるように演算処理する。経路の密度は,解析的に取得してもよい。また,経路の密度は,たとえば,あるサンプリングポイントから所定範囲内に存在する経路の密度であってもよいし,仮想スクリーン上のあるポイントから所定範囲内に存在する経路の密度であってもよい。また経路の密度は,一定面積のスクリーンを通過する経路の数を求めて,スクリーンの面積と経路の数とを用いることによっても求めることができる。分布関数を経路の密度を用いて表現するためには,分布関数と経路の密度との関係式を記憶しておき,経路の密度を求めた後にその関係式に基づいて分布関数を表現する演算を行えるようにしておけばよい。この演算は,プログラムによっても実現でき,ハードウェアによっても実現できる。このようにして,推定鏡面荒さ取得部102は,対象物表面の推定鏡面荒さ(αi)を得ることができる。この所定の値は,演算処理を行う前に記憶部から読み出せばよい。このように経路の密度を求め,分布関数の最大値が所定の値以下となるような推定鏡面荒さ(αi)を求め,この推定鏡面荒さ(αi)を用いてシェーディングを行う。このため,本発明のシステムは,アーティファクトを抑圧することができる。こ推定鏡面荒さ取得部102は,実際には,プログラム,制御装置,演算装置及び記憶装置等により実装される。
図4は,本発明のシステムのハードウェア構成例を示すブロック図である。このシステムは,入力装置21,制御装置22,演算装置23,記憶装置24及び画像処理ブロック25を有する。そして,各要素はバス26により情報の授受ができるように接続されている。また,このシステムは,バス26を介してインターフェース(I/F)27と接続されている。このため,例えばこのシステムは,I/F27を介して,プログラムを格納した情報記録媒体28と接続することができる。このプログラムは,コンピュータを,所定の手段や所定の機能を有する装置として機能させるためのものである。また,このプログラムは,コンピュータに所定のステップを実行させるためのものである。なお,I/F27を介して接続されるメモリが,記憶装置24の全部又は一部として機能してもよい。
画像処理ブロック25は,グラフィック処理ユニット(GPU)22及びビデオRAM(VRAM)30を有する。そして,GPU29及びVRAM30は,情報の授受を行うことができるように接続されている。図中符号31は表示画面(モニタ)を示す。GPU及びVRAM30が本発明のシェーディング方法を実現してもよい。
また,例えば,制御装置22,演算装置23,記憶装置24の作業空間,及び情報記録媒体28に格納されたプログラムが,サンプリング部101と,推定鏡面荒さ取得部102として機能してもよい。そして,この場合,記憶装置24及び情報記録媒体28の記憶領域が,演算に必要な情報を記憶する領域及び作業領域として機能する。入力装置21から操作情報が入力された場合,操作情報はバス26を介して制御装置22へ伝えられる。すると,制御装置22は,情報記録媒体28に格納されるプログラムを読出し,所定の処理を行う。制御装置22は,プログラムからの指令に従って,記憶装置24や情報記録媒体28に記憶される各種情報を読出し,演算装置23において所定の演算を行う。制御装置22は,演算結果を適宜記憶装置24に記憶し,演算結果を用いて所定の処理を行い,適宜フレームバッファ等の記憶装置24に記憶させた後,モニタ31から適切な情報を出力する。
上記のシステムは,本発明のシェーディング方法を実現し,コンピュータグラフィックスを得るため,ジオメトリ部,レンダリング部,フレームバッファ及び表示部として機能するものでもよい。ジオメトリ部は,ポリゴンデータを受け取り,輝度計算を含む計算を行う。レンダリング部は,頂点情報や輝度データを含む情報を用いて,レンダリング処理を行う。レンダリング部を経て得られるラスタデータは,フレームバッファに一時的に記憶され,表示部に表示される。
次に,本発明の第1のサンプリング方法について説明する。
サンプリング工程(S101)は,仮想光源15からある対象物19において反射してある視点20へ至る光の経路を複数のサンプルについてサンプリングする工程である。このサンプリング工程は,たとえば,レイトレーシング法における通常のサンプリング工程を採用できる。
以下,サンプリング工程の例を説明する。なお,以下の例はあくまで例示のためのものであって,光源11,仮想光源15,対象物19及び視点20へ至る経路を求めることができれば,以下の方法以外の方法を用いてもよいことは明らかである。
工程1 ある視線20からスクリーン上のある画素を通って物体17方向に向かう視線を求める。その後,求めた視線と交差する物体17を調べる。この工程では,たとえば,視点の座標を記憶部から読み出す。そして,視点の座標から,複数方向へ視線を放射する。この際,スクリーン上のある画素を通る視線を求めてもよい。それぞれの視線と交差する物体を調べる。この際,1又は複数の物体の座標(又は物体を構成するポリゴンの頂点座標)を記憶部から読み出す。そして,読み出した座標を用いて,視線と物体が交差するか否か求める演算を行う。このようにして,スクリーン上のある画素を通る視線が,ある物体と交差するか否か判断することができる。ある物体と視線とが交差するか否か判断した後は,それぞれの視線について,交差する物体の情報を記憶部に記憶する。
工程2 ある視線と交差する物体が存在する場合,視線と物体との交点を求める演算を行う。ある視線に対して,交差する物体が複数ある場合には,例えばある視線とすべての物体との交点を求めてもよい。この際,物体を構成するポリゴンの頂点座標を記憶部から読み出し,あるポリゴンとある視線との交点を求める演算をしてもよい。
工程3 ある視線と交差する物体の交点までの距離を求め,最も視点に近い物体を抽出してもよい。そして,ある視線に関して,交差する物体の内,ある物体が最も視点側に存在することも合わせて記憶してもよい。ある視線についてある物体が最も視点側に存在することは,たとえば,視点と物体との交点の座標との距離を比較する演算を行うことで求めることができる。
このようにして,ある物体と交差する視線群を求めることができる。そして,複数の視線の内,ある物体と交差すると判断されたものに関する情報を記憶部に記憶してもよい。更には,複数の視線のうち,ある物体と交差し,しかもある物体が最前面にあると判断された物に関する情報を記憶部に記憶してもよい。また,記憶部に記憶されたこれらの情報を読み出すことで,ある物体と交差する視線を読み出すことができる。
上記の経路に存在する物体又は壁が,反射又は屈折を起こす物体か否か判断する。これは,記憶部に物体(又は物体に含まれるポリゴン)に関する情報とともに,反射する物体であるか又は屈折を起こす物体であるかについての情報が格納されているため,その情報を記憶部から読み出して判断すればよい。上記の経路に存在する物体又は壁が,反射又は屈折を起こす物体の場合,反射方向又は屈折方向を求めるためのデータを記憶部から読み出して,上記の視線方向に関する情報と合わせて演算することで,反射方向又は屈折方向を求める。そのうえで,求めた反射方向又は屈折方向を新たな視線として,上記の工程2及び工程3を行い,反射又は屈折して見える物体を抽出する演算を行う。
上記のようにすることで,あるスクリーン上の複数の経路を求めることができる。また,あるスクリーン上の複数のサンプルの内,ある物体と交差する視線と関連するものの経路をも求めることができる。
推定鏡面荒さ取得工程(S102)は,サンプリング工程で得られた複数の経路を用いて,対象物表面における分布関数を得て,分布関数の最大値が所定の値以下となるように演算処理することで,対象物表面の推定鏡面荒さ(αi)を得るための工程である。
たとえば,この工程では,コンピュータが,サンプリング工程で求めた,ある視点からの視線のうちある物体と交差する視線群の経路を記憶部から読み出す。そのうえで,交点座標と関連し,記憶部から各交点における分布関数を読み出す。分布関数は,入射した光の反射率の分布を示す既知の関数である。
交点(衝突点)分布関数が求まった場合,対象物表面の推定鏡面荒さ(αi)を得る。すなわち,サンプリング工程で求めた複数の経路から,経路の密度を求めて,分布関数を表現する。そして,分布関数の最大値が経路の密度を含んで表現された所定の値以下となるような演算処理を行う。この工程を実現するために,例えば,あらかじめ所定の値を記憶部に記憶しておく。そして,この演算を行う場合,上記の所定の値を記憶部から読み出す。そして,分布関数の最大値を求める演算を行う。その後,分布関数の最大値が所定の値以下(又は未満)となるような演算を行う。このようにすると,分布関数の最大値が所定の値以下となるような推定鏡面荒さ(αi)を求めることができる。本発明のシステムは,この推定鏡面荒さ(αi)を用いてシェーディングを行う。このため,アーティファクトが発生する事態を抑制できる。
次に,本発明の第2の態様について説明する。第2の態様は,本発明のシェーディング方法によりアーティファクトが生じない適切な推定鏡面反射の荒さを求められることを明確に実現する態様である。図5は,本発明の第2の態様に関するシェーディング方法を説明するための工程例である。図5に示されるように,このシェーディング方法は,サンプリング工程(S101)と,推定密度算出工程(S112)と,分布関数取得工程(S113)と,推定鏡面荒さ算出工程(S114)とを含む。
図6は,本発明の第2の態様に関するコンピュータを用いたコンピュータグラフィックの描画システムを説明するためのブロック図である。図6に示されるように,このシステムは,サンプリング部101と,推定密度算出部112と,分布関数取得部113と,推定鏡面荒さ算出部114とを含む。サンプリング部101,推定密度算出部112,分布関数取得部113,及び推定鏡面荒さ算出部114は,それぞれサンプリング工程(S101),推定密度算出工程(S112),分布関数取得工程(S113),及び推定鏡面荒さ算出工程(S114)を実装するためのコンピュータにおける仮想的な要素である。コンピュータの入出力部,記憶部,演算部,制御部,及びそれらを接続するバスが,上記の各要素を実現する。
サンプリング部101は,仮想光源から対象物において反射してある視点へ至る複数のサンプルにおける光の輝度をサンプリングするための手段である。
推定密度算出部112は,サンプリング部で得られた経路を用いて,経路の密度である推定密度(確率密度)を求めるための手段である。
分布関数取得部113は,サンプリング部101で求めた経路のうち対象物との交点における分布関数を取得するための手段である。
推定鏡面荒さ算出部114は,分布関数取得部113で得られた分布関数を推定密度算出部112が求めた経路の密度を用いて,最大値が所定の値以下となるように演算処理することで,対象物表面の推定鏡面荒さを求めるための手段である。
サンプリング工程(S101)は,コンピュータが,仮想光源からある対象物において反射してある視点へ至る視線のサンプルにおける光の輝度経路をサンプリングするための工程である。仮想光源は,仮想的な3次元コンピュータグラフィックスにおける光源である。この工程は第一の態様におけるサンプリング工程と同様である。
推定密度算出工程(S112)は,サンプリング工程で得られた経路を用いて,経路の密度である推定密度(確率密度)を求めるための工程である。位置yにおける推定密度は,dハット(y)のように表わすことができる。サンプリング工程では,通常複数の経路が求められる。この例では,経路の密度を,解析的に求める。すなわち,あらかじめ複数の経路を求めた場合に,求めた経路の数に応じで経路の密度を求めることができるようにしてもよく,また求めた複数の経路の位置から経路の密度を求めることができるようにしてもよい。前者の場合は,経路の数を求めた後,求めた経路の数を用いて所定の演算処理を行うことで経路の密度を求めることができる。また,後者の場合は,サンプリング工程で複数の経路を位置も合わせて求めた場合,所定の演算処理を行うことで経路の密度を求めることができる。
分布関数取得工程(S113)は,サンプリング工程(S101)で求めた経路のうち対象物との交点における分布関数を取得するための工程である。サンプリング工程(S101)では,視線(すなわち経路)と対象物との交点が求められる。そして,この工程(S113)では,例えば,コンピュータが記憶部から交点の座標を読み出す。そして,コンピュータが,交点の座標を用いて,読みだした交点の座標と関連して記憶されている分布関数を記憶部から読み出す。このようにして経路状の対象物との交点における分布関数を得ることができる。なお,分布関数は,対象物の荒さパラメータαを用いた所定の関数である。
推定鏡面荒さ算出工程(S114)は,分布関数取得工程(S113)で得られた分布関数の最大値が所定の値以下となるように演算処理することで,サンプルを含む対象物表面の推定鏡面荒さを求めるための工程である。推定鏡面荒さ(αi)とは,コンピュータグラフィックスにおいてある物体の表面における鏡面反射を求める際に用いられるアーティファクトの生じにくい鏡面の荒さを推定した値である。本発明は,既に知られた表面粗さ(α)ではなく,この推定鏡面荒さを表面の粗さとして用いることで,アーティファクトを抑圧したコンピュータグラフィックスを達成できる。分布関数を,たとえば,経路の密度dハット(y)を用いて表現することができる。そして,分布関数の最大値が所定の値以下となるように演算処理することで,推定鏡面荒さ(αi)を求めることができる。たとえば,そして,分布関数の最大値(すなわち,経路の密度を含む関数の最大値)を求め,これが所定の値以下となるように経路の密度を含む関数の係数を求める。その後,その係数及び経路の密度を用いて表面粗さを表現する。そのうえで,その係数及び経路の密度を用いて表面粗さと,既に知られた表面粗さ(α)とのうち小さい方を求める演算を行う。そして,この態様では,その求められた小さい方のパラメータと0のうち大きい方を推定鏡面荒さとする。この演算は,コンピュータが,記憶部より分布関数,経路の密度dハット(y)を読み出して,所定の演算を行う回路又はプログラムにより求めることができる。
コンピュータは,上記のようにして推定鏡面荒さを求めることができる。そして,コンピュータは,この推定鏡面荒さを用いて間接光を含むシーンを描画するシェーディング処理を行う。本発明のシステムは,特に鏡面物体の表面を描画するために有効である。シェーディング処理を行った後に,ラスタライズを行うことで,コンピュータグラフィックスを得ることができる。
以下の実施例においては,アーティファクトをスムージングにより抑圧する。この方法は,光沢を有する物体の粗さパラメータをカーネル密度推定に基づいてクランピングすることにより求める。一般的に,推定密度は,以下の式で表わすことができる。
ここで,dハット(y)は,位置yにおける推定密度であり,Kはカーネル関数であり,yiは,i番目の粒子の位置であり,Φはその粒子の重み関数であり,rはカーネル半径であり,V(r)は標準化係数である。
なお,粒子は,サンプルした経路に相当する。
カーネル半径が小さすぎると推定密度分布がシャープになり現実のものとは大きくかけ離れてしまう。この実施例においては,粒子ごとに異なるカーネル半径を採用することができる。
i番目の粒子の位置yiにおける推定密度dハット(yi)が与えられれば,i番目の粒子のカーネル半径riを以下のように近似して求めることができる。
上記の式においてnは,最近接粒子の数である。本実施例において,分散関数Dを以下のカーネル関数として取り扱う。
すなわち,物質の粗さパラメータをおよそrに関するものとして取り扱う。Dの最大値は,以下の式を満たすように上限が設定される。
上記の式を満たすため,この実施例では,物質の粗さに関して新しい概念を用いた。
例えば,鏡面反射成分がフォンの分布に従う場合,分布関数Dを以下のように表わすことができる。
ここで,α(アルファ)は,フォンのモデルにおけるハイライトの特性を示す指数値である。この場合,αは,以下の式を満たすように求められる。
すると,i番目の粒子の荒さパラメータαを以下の推定鏡面荒さαiとしてクランプすることができる。
上記した分布関数Dの式を用いて,物質の表面粗さをクランプするため,以下の仮定を用いた。
ここで,d(x,wi)は,位置x及び方向wiにおける単位立体角あたりのサンプルの密度である。wi及びw’iは,それぞれ,i番目のサンプルにおける入射方向及び出射方向である。例えば,図4に示すパス(x0,x1,x2,x3)がサンプリングされた場合について検討する。簡単のために,位置xjにおけるi番目の粒子の推定密度dハット(yj)を,dハットjとし,d(xjwj,k)をdj,kとする。なお,wj,kは,位置xjから位置xkへの方向を意味する。
ファイナルギャザリング計算において,dハットは,d3,2が無限大であるから,以下のように求められる。
Nは,サンプルの数であり,pgは,PDF(確率密度関数)である。
光路(x0,xj,x3)(ここで,jは1又は2)で示される点光源からの1バウンス間接光の場合,dハットは次式で与えられる。
適切なnを,反射の重みから求めることができる。
ここで,n’は,ユーザが設定できるパラメータである。
上記のアルゴリズムを評価した。その結果を図7に示す。図7は,コーネルボックス中の点光源と鏡面像のコンピュータグラフィックスに関する(アルファが300,Nが84)。図7中(a)は,抑圧を行わない例(比較例)を示し,(b)はVSL(VSLごとに最大10サンプル点のもの)の例(比較例)を示し,(c)は本発明(仮想的な最大近接数nに関連するパラメータn’を8としたもの)の描画例を示し,(d)はグラウンドトルース(フレームバッファとして640×480ピクセル,VPLのシャドウマップ:256×256ピクセル,レイバンドルズ:256×256ピクセルを用い,GPUとしてAMD RADEON HD6850を用いたもの)を示す。
本実施例においても,全てのピクセルにおいて同じランダム数が用いられたため,モンテカルロインテグレーションによる分散により,アーティファクトが若干生じている。
本発明は,コンピュータグラフィックスに関するため,コンピュータやアミューズメントの分野にて利用されうる。
101 サンプリング部
102 推定鏡面荒さ取得部
102 推定鏡面荒さ取得部
なお,本発明は,添付した論文及び論文中に引用された文献に含まれる事項及びこれらから当業者にとって自明な発明をも含むものである。
Claims (5)
- コンピュータが,
仮想光源(15)からある対象物(17)において反射してある視点(20)へ至る光の経路をサンプリングするサンプリング工程と,
前記サンプリング工程で得られた経路を用いて,前記対象物(17)の表面における分布関数を得て,当該分布関数の最大値が所定の値以下となるように演算処理することで,前記対象物表面の推定鏡面荒さを得る推定鏡面荒さ取得工程と,
を含む
リアルタイムのシェーディング方法。 - 請求項1に記載のシェーディング方法であって,
前記分布関数は,前記経路と前記対象物(17)との交点における鏡面反射の分布関数であり,
前記推定鏡面荒さ取得工程は,前記経路の密度を求め,求めた経路の密度を用いて分布関数の最大値が所定の値以下となるように演算処理することで,前記対象物表面の推定鏡面荒さを得る工程である,
リアルタイムのシェーディング方法。 - 請求項1に記載のシェーディング方法であって,
前記推定鏡面荒さ取得工程は,
前記サンプリング工程で得られた経路を用いて,経路の密度を求める推定密度算出工程と,
前記経路と前記対象物(17)との交点における鏡面反射の分布関数を得る分布関数取得工程と,
前記経路の密度を用いて,前記分布関数の最大値が所定の値以下となるように演算処理することで,前記対象物表面の推定鏡面荒さを求める推定鏡面荒さ算出工程と,
を含む,
方法。 - 仮想光源(15)からある対象物(17)において反射してある視点(20)へ至る光の経路をサンプリングするためのサンプリング部(101)と,
前記サンプリング部(101)で得られた経路を用いて,前記対象物(17)の表面における分布関数を得て,当該分布関数の最大値が所定の値以下となるように演算処理することで,前記対象物表面の推定鏡面荒さを得る推定鏡面荒さ取得部(102)と,
を含む,
リアルタイムにシェーディングを行うためのコンピュータグラフィックシステム。 - 請求項4に記載のコンピュータグラフィックシステムであって,
前記推定鏡面荒さ取得部(102)は,
前記サンプリング部で得られた経路を用いて,経路の密度を求める推定密度算出部(112)と,
前記経路と前記対象物(17)との交点における鏡面反射の分布関数を得る分布関数取得部(113)と,
前記経路の密度を用いて,前記分布関数の最大値が所定の値以下となるように演算処理することで,前記対象物表面の推定鏡面荒さを求める推定鏡面荒さ算出部(114)と,
を含む
リアルタイムにシェーディングを行うためのコンピュータグラフィックシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161567113P | 2011-12-05 | 2011-12-05 | |
US61/567,113 | 2011-12-05 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012265853A Division JP5937957B2 (ja) | 2011-12-05 | 2012-12-04 | リアルタイム大局照明レンダリングシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013117992A true JP2013117992A (ja) | 2013-06-13 |
Family
ID=48609682
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012265853A Active JP5937957B2 (ja) | 2011-12-05 | 2012-12-04 | リアルタイム大局照明レンダリングシステム |
JP2013036432A Pending JP2013117992A (ja) | 2011-12-05 | 2013-02-26 | リアルタイム大局照明レンダリングシステム |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012265853A Active JP5937957B2 (ja) | 2011-12-05 | 2012-12-04 | リアルタイム大局照明レンダリングシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US9275477B2 (ja) |
JP (2) | JP5937957B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10403034B2 (en) | 2014-05-09 | 2019-09-03 | Samsung Electronics Co., Ltd. | Image processing method and apparatus for rendering an image based on virtual point light (VPL) samplings |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3057067B1 (en) * | 2015-02-16 | 2017-08-23 | Thomson Licensing | Device and method for estimating a glossy part of radiation |
KR102558737B1 (ko) | 2016-01-04 | 2023-07-24 | 삼성전자주식회사 | 3d 렌더링 방법 및 장치 |
CN109472856B (zh) * | 2018-11-07 | 2022-12-09 | 长春理工大学 | 基于虚拟点光源的复杂真实感三维场景渐进交互式绘制方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0783753A (ja) * | 1993-09-13 | 1995-03-31 | Matsushita Electric Ind Co Ltd | 光環境解析方法および光環境解析装置 |
JPH10247256A (ja) * | 1997-03-04 | 1998-09-14 | Integra:Kk | 光学的に複雑な特性を有する物体の美感設計をコンピュータ上で対話的に行う方法 |
JP3342423B2 (ja) * | 1998-10-09 | 2002-11-11 | ホーヤ株式会社 | 眼光学系のシミュレーション装置 |
US6765573B2 (en) * | 2000-10-26 | 2004-07-20 | Square Enix Co., Ltd. | Surface shading using stored texture map based on bidirectional reflectance distribution function |
JP4764963B2 (ja) * | 2004-07-21 | 2011-09-07 | 公立大学法人広島市立大学 | 画像処理装置 |
US7589723B2 (en) * | 2005-07-25 | 2009-09-15 | Microsoft Corporation | Real-time rendering of partially translucent objects |
US20070285422A1 (en) * | 2006-01-18 | 2007-12-13 | Nayar Shree K | Method for Separating Direct and Global Illumination in a Scene |
JP4733757B2 (ja) | 2009-06-05 | 2011-07-27 | 株式会社スクウェア・エニックス | ポリゴン処理装置,プログラム及び情報記録媒体 |
WO2010151643A2 (en) * | 2009-06-24 | 2010-12-29 | University Of Southern California | Estimating spectral distribution of reflections from object surface based on low frequency illumination |
JP5123353B2 (ja) | 2010-05-06 | 2013-01-23 | 株式会社スクウェア・エニックス | リアルタイムシーンを照明し,発見するバーチャルフラッシュライト |
JP5076132B1 (ja) | 2011-05-25 | 2012-11-21 | 株式会社スクウェア・エニックス・ホールディングス | 描画制御装置、その制御方法、プログラム、記録媒体、描画サーバ、及び描画システム |
-
2012
- 2012-12-04 US US13/693,396 patent/US9275477B2/en active Active
- 2012-12-04 JP JP2012265853A patent/JP5937957B2/ja active Active
-
2013
- 2013-02-26 JP JP2013036432A patent/JP2013117992A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10403034B2 (en) | 2014-05-09 | 2019-09-03 | Samsung Electronics Co., Ltd. | Image processing method and apparatus for rendering an image based on virtual point light (VPL) samplings |
Also Published As
Publication number | Publication date |
---|---|
JP2013117966A (ja) | 2013-06-13 |
US20130155089A1 (en) | 2013-06-20 |
US9275477B2 (en) | 2016-03-01 |
JP5937957B2 (ja) | 2016-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2014363213B2 (en) | Image rendering of laser scan data | |
US9569885B2 (en) | Technique for pre-computing ambient obscurance | |
US8659593B2 (en) | Image processing apparatus, method and program | |
US11961176B2 (en) | Global illumination using shared lighting contributions for interactions in path tracing | |
CN112513712A (zh) | 具有虚拟内容翘曲的混合现实系统和使用该系统生成虚拟内容的方法 | |
US10762695B1 (en) | Systems and methods for ray-traced shadows of transparent objects | |
JP2015228186A (ja) | 画像処理装置および画像処理方法 | |
JP5873672B2 (ja) | 仮想環境のポイントにおいて受光された光の量の推定方法 | |
US20140327673A1 (en) | Real-time global illumination using pre-computed photon paths | |
JP2016085738A (ja) | ハイブリッドレンダリング装置及びその方法 | |
KR20160011486A (ko) | 하이브리드 렌더링 방법 및 장치 | |
WO2013101167A1 (en) | Five-dimensional rasterization with conservative bounds | |
US9401046B2 (en) | Micropolygon splatting | |
US11823321B2 (en) | Denoising techniques suitable for recurrent blurs | |
JP5937957B2 (ja) | リアルタイム大局照明レンダリングシステム | |
KR101118597B1 (ko) | 모바일용 컴퓨터 그래픽 랜더링 방법 및 시스템 | |
US20230274493A1 (en) | Direct volume rendering apparatus | |
JP6619598B2 (ja) | プログラム、記録媒体、輝度演算装置及び輝度演算方法 | |
JP2015515058A (ja) | シーン内の関与媒質を表現する方法および対応する装置 | |
KR102332920B1 (ko) | 6 자유도 가상현실의 렌더링 시스템 및 방법 | |
Lindbäck | Rendering Light and Shadows for Transparent Objects |