JP2018527666A - 鏡面の画像のリアルタイムレンダリングの方法および装置 - Google Patents

鏡面の画像のリアルタイムレンダリングの方法および装置 Download PDF

Info

Publication number
JP2018527666A
JP2018527666A JP2018506583A JP2018506583A JP2018527666A JP 2018527666 A JP2018527666 A JP 2018527666A JP 2018506583 A JP2018506583 A JP 2018506583A JP 2018506583 A JP2018506583 A JP 2018506583A JP 2018527666 A JP2018527666 A JP 2018527666A
Authority
JP
Japan
Prior art keywords
edge
rendering
vector
radiance
point
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
Application number
JP2018506583A
Other languages
English (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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2018527666A publication Critical patent/JP2018527666A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • G06T15/83Phong shading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/506Illumination models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2211/00Image generation
    • G06T2211/40Computed tomography
    • G06T2211/428Real-time

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

エリア光源(A)によって照らされる表面の鏡面反射部分のレンダリングのため、シェーディングポイント(x)においてレンダリング予定の画像と関連付けられた視線反射ベクトル(R)が確立される。光源をシェーディングポイントを中心とする単位球に投影するものである投影エリアの各球面エッジUi+1に対し、局所的な放射輝度は、エッジUi+1およびシェーディングポイントによって定義される平面への視線反射ベクトルの正規化投影ベクトルSを確立すること、ベクトルSと関連付けられた点SがUi+1の内側にあるかどうかを判断すること、ならびに、内側にある場合は、U、SおよびUi+1の中間変換ならびにU、SおよびS、Ui+1のエッジ積分を実行することによって確立される。すべてのエッジにわたって反復が実行され、局所的な放射輝度の総和が求められ、それに従って表面がレンダリングされる。

Description

この発明は、鏡面の画像のレンダリングに対する技法に関する。
エリア光を用いた鏡面の物理ベースの照明は、コンピュータグラフィックスにおいて非常に難易度の高いタスクを構成する。エリア光は、より自然な照明を提供し、コントラストを低減するかまたは1つもしくは複数の芸術的基準と整合させるために、シーン内のバランスを取る光を(視覚効果を表す)VFX/ゲームアーティストが微調整できるようにする。エリア光および鏡面に関与する多くのリアルタイムのレンダリングの解決法は、リアルタイムの性能を達成するために放射輝度を粗近似する。そのような解決法は、視界に関する強い想定の下、簡単なエリア光ジオメトリ(球体、ディスクまたは長方形)に限定され、何より、通常は、鏡面に対するフォンモデルに限定される。
鏡面の正確なリアルタイムレンダリングは、演算集約的なモンテカルロ法を使用する以外に面積分を評価するための実用的な解決法が存在しないことに存する困難を招く。最も代表的なポイントアプローチのような最近の技法は、この問題を緩和するが、リアルタイムの性能を達成するために正確度を犠牲にし、これらの技法は、いまだに、鏡面に対するフォンモデルにのみ有効である。James Arvoは、Computer Graphics Proceedings, Annual Conference Series, ACM SIGGRAPH, 1995で公開された論文“Applications of Irradiance Tensors to the Simulation of Non-Lambertian Phenomena”において、多角形光源を考慮する周回積分を使用する解析的解決法を開発した。残念ながら、この解決法は、多大な時間を要するループの評価を必要とするため、いまだに、グラフィックス処理ユニット(GPU)上での使用に対して実用的ではない。その上、この解決法は、鏡面に対するフォンモデルに限定される。
従って、先行技術の前述の不利な点、具体的には、鏡面に対するフォンモデルの制約を克服する、鏡面を正確にレンダリングする技法が必要とされている。
以下では、外向き放射の艶がある部分をレンダリングしなければならない表面のシェーディングポイントについて考慮する。「艶がある」という用語は、一般に、光沢度(shininess)を指し、本開示では、鏡面反射に関連する。典型的には、滑らかな表面は、かなりの量の光が特権的な方向(privileged direction)の周りに集中するため、光沢があるまたは艶があるように目に見える。
当業者によく知られているように、そのシェーディングポイントを中心とし、そのシェーディングポイントにおける表面の法線に沿って方向付けられる単位半球を形成する上半球領域が事実上形成される。その半球上のいかなる点も、シェーディングポイントを始点とし、半球上の点を終点とするベクトルと関連付けることができる。それに従って、「関連付ける」という用語を以下で使用する。また、単位半球の代わりに、場合により、その代替として、同じ結果になる場合は、シェーディングポイントを中心とする単位球について言及する。
少なくとも1つのエリア光源によって照らされる表面の鏡面反射部分をレンダリングする方法は、その表面のシェーディングポイントにおいてレンダリング予定の画像と関連付けられた、その表面に対する視線方向の反射である視線反射ベクトルを確立することによって開始される。シェーディングポイントに向けたエリア光源をシェーディングポイントを中心とする単位球に投影するものである投影エリアの各球面エッジUi+1に対し、(a)球面エッジUi+1およびシェーディングポイントによって定義される平面への視線反射ベクトルの正規化投影ベクトル
Figure 2018527666

を確立すること、(b)ベクトル
Figure 2018527666

と関連付けられた単一の点SがUi+1の内側にあるかどうかを判断すること、ならびに、内側にある場合は、放射輝度を確立するために、(c)U、SおよびUi+1の中間変換(halfway transform)を実行すること、ならびに、(d)U、SおよびS、Ui+1のエッジ積分を実行することによって、局所的な放射輝度は確立される。すべてのエッジにわたって反復が実行され、すべてのエッジの局所的な放射輝度の総和が求められる。確立された放射輝度に従って、表面がレンダリングされる。
方法はリアルタイムのレンダリング方法であることおよび/または方法は鏡面のレンダリングのものであることが好ましい。
本原理の別の態様によれば、SがUi+1の内側にない場合は、U、SおよびS、Ui+1の中間変換を実行し、U、SおよびS、Ui+1のエッジ積分を実行する代わりに、UおよびUi+1の中間変換を実行し、U、Ui+1のエッジ積分を評価する。
本原理のさらなる別の態様によれば、中間変換は、視線方向と位置合わせされた停留変曲(stationary inflection)をもたらす。
本原理のさらなる別の態様によれば、少なくとも1つのエリア光源によって照らされる表面の鏡面反射部分をレンダリングする装置は、データおよびプログラム命令を格納するメモリを含む。グラフィカル回路は、(1)その表面のシェーディングポイントにおいてレンダリング予定の画像と関連付けられた、その表面に対する視線方向の反射である視線反射ベクトルを確立し、(2)シェーディングポイントに向けたエリア光源をシェーディングポイントを中心とする単位球に投影するものである投影エリアの各球面エッジUi+1に対し、a)球面エッジUi+1およびシェーディングポイントによって定義される平面への視線反射ベクトルの正規化投影ベクトル
Figure 2018527666

を確立すること、(b)ベクトル
Figure 2018527666

と関連付けられた単一の点SがエッジUi+1の内側にあるかどうかを判断すること、ならびに、内側にある場合は、放射輝度を確立するために、(c)U、SおよびUi+1の中間変換を実行すること、ならびに、(d)U、SおよびS、Ui+1のエッジ積分を実行することによって局所的な放射輝度を確立し、(3)すべてのエッジにわたって反復し、(4)すべてのエッジの局所的な放射輝度の総和を求め、(5)確立された放射輝度に従って表面をレンダリングするように構成されている。マイクロプロセサは、グラフィカル回路、ならびに、メモリ、グラフィカル回路およびマイクロプロセッサを相互接続するバスを制御する。
装置は、好ましくは、リアルタイムのレンダリングのおよび/または鏡面のレンダリングの装置である。
本原理のさらなる別の態様によれば、装置のグラフィカル回路は、SがUi+1の内側にない場合は、U、SおよびUi+1の中間変換を実行し、U、SおよびS、Ui+1のエッジ積分を実行する代わりに、UおよびUi+1の中間変換を実行し、U、Ui+1のエッジ積分を評価する。
有利には、中間変換は、視線方向と位置合わせされた停留変曲をもたらす。
本開示の目的は、エリア光によって照明が当てられた、物理的に妥当な鏡面をレンダリングする技法を提供することである。
本発明の別の目的は、マイクロファセットモデルを利用する、物理的に妥当な鏡面をレンダリングする技法を提供することである。
本発明の別の目的は、小さな演算オーバーヘッドを招く、物理的に妥当な鏡面をレンダリングする技法を提供することである。
本発明の別の目的は、グラフィックスハードウェアおよびゲームエンジンを含む並列アーキテクチャ上の実装が可能な、物理的に妥当な鏡面をレンダリングする技法を提供することである。
本発明の別の目的は、高速のリアルタイムのレンダリングによく適している、物理的に妥当な鏡面をレンダリングする技法を提供することである。
鏡面に対するフォンモデルを示す光線図を描写する。 鏡面に対するブリンフォンモデルを示す光線図を描写する。 半球に投影されたエリア光の平面図を描写する。 本原理による、反射ベクトル
Figure 2018527666

と共に分割点Sを示す図3の平面図を描写する。
本原理による、分割点Sを確立する技法を示す半球の光線図を描写する。 本原理のレンダリングを実行する装置のブロック概略図を描写する。 本原理による、レンダリングの方法のステップを示すフローチャートを描写する。
以下で詳細に説明されるように、鏡面を有する画像のレンダリングの改善は、前述のArvoの論文で説明されるように、周回積分を使用することによって放射輝度を確立する本原理による技法によって起こり、欧州特許第3057067号で明白に教示されるように、高速近似を利用することができる。さらに、レンダリング方法は、物理的に妥当な鏡面を表すために、中間変換を利用する。本原理のレンダリング技法は、マイクロファセットモデル(ブリンフォン)によって説明される鏡面および多角形エリア光源を考慮する。
本原理のレンダリング方法を理解するため、鏡面に対するフォンモデルを示す光線図を描写する図1と、鏡面に対するブリンフォンモデルを示す光線図を描写する図2とを参照する。各図では、ベクトル
Figure 2018527666

は、視線方向を定義し、
Figure 2018527666

は、法線
Figure 2018527666

を有する表面に対する反射視線ベクトルを表し、
Figure 2018527666

は、入射光方向を定義する。図2では、ベクトル
Figure 2018527666

は、以下のように定義される中間ベクトル(halfway vector)に対応する。
Figure 2018527666
フォンモデルの制約を克服するための手法の1つは、中間変換をエリア光上の頂点にのみ適用し、次いで、Arvoの公式を垂直軸の周りに適用することであろう。残念ながら、ハーフベクトル変換はアフィン変換ではなく、それにより、歪みが導入され得る。歪みを追従するようにエッジポイントを規則的にサンプリングすることでこの問題は軽減されるが、この手法は、許容できる結果を得るために多数のサンプリングが必要であり、それにより、多大な時間を要する。
上記で説明される先行技術の欠陥を克服するため、本原理のレンダリング技法は、マイクロファセット鏡面反射放射輝度を近似するためにエッジ分割戦略を利用する。本原理に従って放射輝度を確立するエッジ分割手法を理解するため、半球に投影されたエリア光の平面図を描写する図3と、中間変換後の図3の平面図を描写する図4とを参照する。図3は、視線方向と完全に位置合わせされた変曲エリアを示す。ここでは、反射ベクトル
Figure 2018527666

によって駆動される場所Sの単一の点からのエッジ分割を考慮する。この分割を使用することにより、放射輝度を確立するための簡単な高速のエッジ分割戦略が可能になる。図3を注意深く観察すると、中間変換は、エリア光照射野の停留変曲を示すことがわかる。この変曲は、実質的に完全な視線方向との位置合わせを享受し、図4で描写されるように、良い分割位置を表している。
Figure 2018527666

および視線反射
Figure 2018527666

ベクトルによって形成される平面にある点は、中間変換後も
Figure 2018527666

と位置合わせされた状態であることに留意されたい。
図5は、法線
Figure 2018527666

を有する、照らされている表面のシェーディングポイントxに対する分割点の位置を位置付ける本原理の技法を示す光線図を図示する。
技法は以下を伴う。
1.視線反射ベクトル
Figure 2018527666

を演算する。
2.xを中心とし、法線
Figure 2018527666

に従って方向付けられる半球に投影されるようなエリア光源Aの光エッジにわたって反復する。
3.各球面エッジUi+1に対し、球面エッジUi+1およびポイントxによって定義される平面への
Figure 2018527666

の正規化投影ベクトル
Figure 2018527666

を考慮する。
4.ベクトル
Figure 2018527666

と関連付けられた点SがUi+1の内側にある場合は、Sを分割点として考慮する。
a.U、SおよびUi+1の中間変換を実行する。
b.欧州特許第3057067号の教示に従って、U、SおよびS、Ui+1(変換された)のエッジ積分を評価し、次いで、マイクロファセット鏡面反射放射輝度に近似するために、局所的な放射輝度に結果を追加する。
5.内側になければ、分割しない。
a.UおよびUi+1の中間変換を実行する。
b.欧州特許第3057067号の教示を使用してU、Ui+1(変換された)のエッジ積分を評価し、マイクロファセット鏡面反射放射輝度に近似するために、局所的な放射輝度に結果を追加する。
6.反復終了時に局所的な放射輝度を返す。
マイクロファセット鏡面反射放射輝度を近似した後、レンダリングが行われる。
上記で説明される手順の明確な利点は、エッジ分割が系統的なものではなく、従って、演算オーバーヘッドが制限されることである。この点において、現代のGPU(グラフィックス処理ユニット)に存在する並列アーキテクチャは、有利には、同時画素のための鏡面エリア照明を評価する上で役立ち得る。全解決法は、フラグメントシェーダ(例えば、GLSL、HLSLなど)またはGPU並列演算能力を有する任意の言語(例えば、Compute Shader、CUDA、OpenCLなど)で容易に実装することができる。
放射輝度を確立することは、以下で要約される欧州特許第3057067号の教示に従って、以下のように起こり得る。点M(上述ではxと記述される)における照明が当てられた表面の反射特性(表面材料に依存する)は、
Figure 2018527666

と記述されるBRDF関数(双方向反射率分布関数)によって表され、(ここで、
Figure 2018527666

は、点Mへの照明方向とは反対方向の単位ベクトルであり、
Figure 2018527666

は、観察者に向けた視線方向に対応する単位ベクトルであり、従って、上記の
Figure 2018527666

に対応する)。当業者によく知られているように、BRDF関数は、表面上の点における入射放射輝度をその点から反射した放射輝度と関連付ける。次いで、点Mにおいて観察者に向けて散乱する放射輝度(目で知覚される色)
Figure 2018527666

は、光源表面Aによって維持される立体角Ω(A)の半球積分によって定義される。
Figure 2018527666

式中、dωは、立体角の微分変動(differential variation)を表す。
欧州特許第3057067号では、フォン分布モデルがBRDF関数を定義することができる。しかし、本原理によれば、ブリンフォンモデルがBRDF関数を定義する上で役立ち得る。
以下の論考では、鏡面反射成分のみが考慮される。なぜなら、その成分は、表面によって反射された放射の艶がある(または鏡面反射)部分に最も関連しているからである。特定の状況では、考慮される表面は、それ自体に艶があり(またはほぼ鏡面反射性である)、その結果、放射は、演算のために、その艶がある部分で識別される。表現の艶がある成分は、考慮される表面が完全には滑らかではなく、その結果、光の反射はスネルの法則に従わないという事実を説明する。代わりに、関連する反射光は、鏡面反射光の好ましい方向辺りの分布を有する。その分布の集中度は、艶度(glossiness)を制御するフォンまたは鏡面反射指数とも呼ばれる光沢係数nによって表される。
入射光の鏡面反射項の反射率を提供する鏡面反射率ρを記述し、フォンモデルにおいて(またはブリンフォンモデルにおいて)通常行われるように、この項が点Mにおいて一定である(少なくとも所定の色チャネルに対して)と仮定することにより、2つの表現は、艶がある部分に明白に関連する。
Figure 2018527666

方程式(2)に対応するそれらの表現の第1の表現は、一軸モーメントフォン分布モデルに関連し、Robert R. Lewis in “Making Shaders More Physically Plausible”, in Fourth Eurographics Workshop on Rendering, pp. 47-62, 1994によって明白に説明されている。方程式(3)と関連付けられた第2の表現は、二軸モーメントに関連し、Eric P. Lafortune and Yves D. Willems in “Using the Modified Phong Reflectance Model for Physically Based rendering”, Technical Report RP-CW-197, 1994によって明白に説明されている。
より一般的には、変形形態の実装において、フォン分布モデル以外の鏡面反射成分の他のBRDF表現を使用することができる。これは、特に、方向付けられた軸の周りの分布挙動を有し、光沢係数nによって調整される余弦関数によって制御される放射に当てはまり、余弦は、方向付けられた軸と視線方向との角度によって得られる。
多角形であり、m個のエッジを有する光源表面Aを考慮すると、方程式(1)の2D面積分は、エッジの周りの1D周回積分の総和として表すことができる。これは、ストークスの定理ならびに上記で引用される博士号論文および記事におけるArvoによる開発に基づく。
それに従って、Ui+1などの方向付けられたm個のエッジの各々に対し、点MからエッジUi+1の第1の頂点Uまでを指し示す単位ベクトル
Figure 2018527666

および
Figure 2018527666

に直交し、エッジUi+1の平面にある単位ベクトル
Figure 2018527666

を定義することができ、その結果、
Figure 2018527666

は、正規直交基底を構成する。これは、エッジUi+1に対するパラメータを定義するために使用することができる(
Figure 2018527666

は考慮されるエッジに依存することに留意する)。
Figure 2018527666
さらに、エッジ開口Φiは、点Mの周りのおよび方向
Figure 2018527666

の半球に投影されるようなエッジUi+1に対応する開き角度として定義される。また、単位法線ベクトル
Figure 2018527666

は、光源表面Aの境界の外側にある法線(すなわち、エッジの外側にある半球の接線)として定義される。
上記で引用されるArvoの開発に従って、点Mにおける光源の放射輝度
Figure 2018527666

は、方向
Figure 2018527666

とは無関係に表され(便宜上、L(M)と記述する)、要するに、光源にわたって一定していると見なすことになり、放射輝度
Figure 2018527666

は、
Figure 2018527666

および
Figure 2018527666

によって、方程式(2)と関連付けられた第1のBRDFフォン表現に対して得られる。
調和加法定理に従って、三角関数の式は、以下のように簡素化することができ、
a cosφ+b sinφ=c cos(φ−δ) (7)
それにより、
Figure 2018527666

が得られる。
簡潔にするため、関数f(φ,c,n)およびパラメータqが導入され、その結果、
Figure 2018527666

となる。
公式(8)において総和演算子および積分を逆演算することができ、それにより、等比級数が得られることに留意されたい。関数Gは、
Figure 2018527666

に値する。
積分範囲においてδだけ移動することにより、関数Gは、以下のように記載することができ、
Figure 2018527666

その被積分関数は、
Figure 2018527666

である。
被積分関数Iは、既知の不定積分を有する専用のピーク形状関数のおかげで、以下で説明されるように近似される。それにより、最良の実装形態では、被積分関数Iは、高い正確度で評価することができ、少数のパラメータ化演算の対象となる。パラメータsは、以下によって得られる。
Figure 2018527666
sを知っていることにより、
Figure 2018527666

と記述される正規化関数は、被積分関数Iから誘導することができる(0〜1の範囲)。これらは、偶数のnについて被積分関数Iをあらかじめシフトダウンすることによって、そして、偶数及び奇数のnについて、それをパラメータsで除する(スケーリングする)ことによって得られる。別の追加のパラメータは、被積分関数Iがその最大値sの半分に値する半値幅xωである。nが偶数の場合およびnが奇数の場合の半値幅xωの値は、被積分関数Iがその最大値sの半分に値するφの正の値によって得られる。
方程式I(φ,c,n)=s/2は、解析解を有さず、パラメータxωの値は、例示的な本実装形態では、以下の通り近似値
Figure 2018527666

を与える公式によって近似される。
Figure 2018527666
その近似の関連性は、nが無限である傾向がある場合は、半値幅パラメータxωの楕円形状に依存し、cが0である傾向がある場合は、xωは、nが奇数の場合はπ/3におよびnが偶数の場合はπ/4にそれぞれ収束し、cが1である傾向があり、nが無限である傾向がある場合は、xωは、0に収束することが証明されている。
上記で説明される近似は、n指数が高い値の場合はかなり正確であり、低い値の場合は平均である。しかし、有利には、低い精度推定は、後者には十分であると見なされ、高レベルの正確度は、前者に当てはまる。実際に、nが低い値の場合は、大きな幅を有する滑らかなピーク曲線が得られ、その結果、xωの小さな変動は、被積分関数Iの小さな変動に対応する。対照的には、nが高い値の場合は、傾きが非常に大きくなり、xωの小さな変動は、恐らくは、被積分関数Iの大きな変動に対応し得る。
演算されたそれらのパラメータc、sおよびxωは、適切なピーク形状関数を指定するために使用され、ピーク形状関数は、以下で説明されるように、被積分関数I(φ,c,n)の近似
Figure 2018527666

の構築に利用される。φ、c、nへの従属性を有するIのようなピーク形状関数は、一般的な方法で、P(φ,c,n)と記述される。
ピーク形状関数は、近似方法の上流選択の組合せを通じて、および、特定の構成状況(ジオメトリ、照明が当てられた表面の光の挙動、考慮されるエリア光源光に対する考慮される点の配置、視線方向など)に依存する現行のパラメータの演算を通じて決定される。
ピーク形状関数を有する実装形態の2つのファミリ(すなわち、洗練されたものおよびより簡単なもの)を解説するために以下で説明する。両者間の選択は、演算コストと推定正確度との間のトレードオフに依存する。以下では、考慮される関数は対称である。
洗練された実装形態の場合は、近似において使用するために、トリプルピーク形状関数Q(φ,c,n)が単一正規化ピーク形状関数P(φ,c,n)から導き出される。そのトリプルピーク形状関数Q(φ,c,n)は、πだけ下方移動したP(φ+π,c,n)およびπだけ上方移動したP(φ−π,c,n)のようなものとして取られた同じピーク形状関数P(φ,c,n)の線形関数を構築することによって得られ、考慮される角度間隔は、−π/2とπ/2によって有界のままである(ただし、定義域はより広く、恐らくは有界ではない)。むしろ、それにより、驚くべきことに、特に効率的な近似関数が利用可能になる。
より正確には、特に効率的な組合せは、以下のトリプルピーク形状関数Q(φ,c,n)を考慮することによって決定される。
Figure 2018527666
次いで、移動因子(translation factor)vShift(c,n)およびスケーリング因子(scaling factor)sNorm(c,n)の演算によって、中間因子(intermediary factor)d(c,n)と共に、近似された被積分関数
Figure 2018527666

がQから得られる。それらは、以下の式から得られ、簡潔にするために、関数の独立変数のcおよびn従属性が省略されている。
Figure 2018527666
次いで、以下の式によって、近似された被積分関数
Figure 2018527666

の式がQ(φ,c,n)の関数で得られる。
Figure 2018527666
チェックできるように、sNormおよびvShiftの選択のおかげで、以下の関係が成立する(簡潔にするために、
Figure 2018527666

の独立変数のcおよびn従属性が省略されている)。
Figure 2018527666
次いで、以下の式によって、方程式(10)、(14)および(16)に基づいて、G(x,c,δ,n)の近似
Figure 2018527666

が得られることを記述することができる(簡潔にするために、右側の独立変数のcおよびn従属性が省略されている)。
Figure 2018527666
本原理によれば、ピーク関数Pは、既知の不定積分式を有し、それにより、方程式(17)は、演算に対して特に魅力的なものになる。
変形形態の構成では、上方および下方P移動は、πとは異なり、有利には、3π/4〜3π/2であり、好ましくは、πより大きい。
より簡単なファミリの実装形態の場合は、近似において、単一正規化ピーク形状関数P(φ,c,n)が使用される。それに従って、以下の式
Figure 2018527666

によって、近似された被積分関数
Figure 2018527666

が得られる(簡潔にするために、独立変数のcおよびn従属性が省略されている)。
Figure 2018527666
ここでは、洗練されたファミリとより簡単なファミリの両方の実装形態との関連で、適切な正規化ピーク形状関数P(φ,c,n)の選択およびパラメータ化を展開する。以下では、偶数値のn指数が考慮されるが、同様のプロセスは奇数値にも当てはまる。
ピーク形状関数Pの第1の選択では、それらは、以下の形態のローレンツ関数Pであり、
Figure 2018527666

式中、は、cおよびnに従属するパラメータであり、それにより、関数Pが指定される。
の有利な決定モードでは、半値幅xωにおけるI(φ,c,n)の値は、xωに対してシフトされた横座標におけるPの値と等しくなる。biasと記述されるオフセットにより、近似された被積分関数
Figure 2018527666

を構成するためにPに適用される演算(移動シフト、スケーリング、総和)を説明することができる(トリプルピーク関数の場合は公式(16)および単一ピーク関数の場合は(18))。すなわち、
Figure 2018527666

であり、これは、
Figure 2018527666

に至る。
biasの値は、トリプルピークまたは単一ピーク公式の選択に応じて異なる。トリプルピーク(洗練された解)では、以下の値を選択することが適切であり、
Figure 2018527666

単一ピーク解では、以下の選択が適切であることが証明されている。
Figure 2018527666
bias因子に対するそれらの経験公式の関連性は、実験的測定によって確認される。
以前に言及した通り、選択されたピーク形状関数の主要な態様は、それらの不定積分の解析式の知識にある。公式(20)のローレンツ関数に関しては、これは、以下の式によって得られ(簡潔にするために、関数における独立変数cおよびnが省略されている)、
Figure 2018527666

これは、以下の式に明白に至る。
Figure 2018527666
以下の式を念頭におくと、
Figure 2018527666

これは、以下の公式に至る。
Figure 2018527666
公式(25)は、逆正接関数の限られた数の演算を伴い、それは、コストが高く、GPUの約20のALU(算術論理演算ユニット)命令を典型的に必要とすることに留意されたい。特に、公式(17)に対して、そのような逆正接関数評価を3回実行すれば十分である。次いで、近似された被積分関数
Figure 2018527666

を演算することができる。
正規化ピーク形状関数Pの第2の選択によれば、それらは、ローレンツ関数Pと、PPmと記述される既定の数mでパラメータ化されたピアソンタイプVII関数との線形結合である。そのようなピアソンタイプ関数は、以下の式によって定義され、
Figure 2018527666

式中、βは、c、nおよびmに従属するパラメータであり、それにより、PPmが指定される。
より正確には、ピーク形状関数の線形結合は、アフィン結合である(すなわち、関連係数の総和が1である線形結合)。これは、ローレンツおよびピアソンピーク形状関数にそれぞれ対応する近似された被積分関数
Figure 2018527666

とのアフィン結合である近似された被積分関数
Figure 2018527666

を有することになる(ただし、ピーク形状関数と近似された被積分関数の係数は同じではない)。その関係は、以下の式によって得られ、
Figure 2018527666

係数μは、0〜1で構成される。
特定の実装形態では、係数μは、(最大値sおよび半値幅横座標xωに加えて)被積分関数Iから導き出されるさらなるパラメータから演算される。値I(xtail,c,n)は、尾部横座標xtailにおいて被積分関数Iが取ったものである。後者は、有利には、以下のように選択される。
tail=xω+0.3946(1−(1−xω12) (28)
次いで、係数μは、cおよびnに従属し、近似された被積分関数
Figure 2018527666

および被積分関数Iのxtailにおける値を等しくすることによって得られる。これは、以下の値に至る。
Figure 2018527666
この選択は、効率的な実装形態において特に適切であることが証明されており、それは、被積分関数の尾部では、ローレンツ近似は過大評価される傾向にあるが、対照的に、ピアソン近似は過少評価される傾向にあるという事実によって説明することができる。従って、重み付けは、両者間の相対バランスを提供する。
同様に、ローレンツ関数に関しては、パラメータβは、近似された半値幅横座標xωおよびオフセットbiasを使用することによって、tによって演算され、c、nおよびmに従属する。
Figure 2018527666

その結果、
Figure 2018527666

である。
ピアソン関数におけるパラメータmの2つの特定の値は、有利な実施形態(すなわち、1.5および2)を提供する。これらの両方とも、比較的簡単な不定積分式が知られている(簡潔にするために、関数における独立変数cおよびnが省略されている)。
Figure 2018527666
m=1.5の場合の積分は、評価がより簡単であるが、m=2の場合の積分は、放射輝度の推定をわずかにより正確に行う。
ローレンツ関数の場合のように、biasの値は、トリプルピークまたは単一ピーク公式の選択に依存する。トリプルピーク(洗練された解)の場合は、以下の値を選択することが適切であるように思え、
Figure 2018527666

単一ピーク(より簡単な解)の場合は、以下の値を選択することが適切であるように思える。
Figure 2018527666
図6は、本原理による、局所的なマイクロファセット鏡面反射放射を確立することによってレンダリングを実行する本原理による装置600を描写する。装置600は、アドレス、データおよびクロック(図示せず)からのクロック信号を伝えるバス602によって互いに接続される様々な要素を含む。装置は、装置の様々な要素を制御するマイクロプロセッサ604(「CPU」の指定表示を有する)を含む。マイクロプロセッサ604は、バス602を介して、グラフィックス回路606(図6では、グラフィクスカードとして識別される)に接続される。グラフィックス回路は、様々な動作を並列に実行するいくつかのグラフィックス処理ユニット(またはGPU)608およびグラフィカルランダムアクセスメモリ(GRAM)610を含む。GRAM 610は、(1)画像におけるシーンを表すパラメータ、(2)ピーク形状関数データおよび(3)レンダリングの間にフレーム内で演算される局所的な放射輝度情報をそれぞれ格納するレジスタ612、614および616によって例示的に描写される多数のレジスタを有する。GRAM 610に加えて、装置600は、不揮発性メモリのROM(読み取り専用メモリ)618およびランダムアクセスメモリまたはRAM 620を含み、いずれも、バス602を介してマイクロプロセッサ604に結合される。ランダムアクセスメモリ620は、(1)マイクロプロセッサ602用の動作プログラム、(2)画像におけるシーンを表すパラメータ(例えば、シーンの物体のモデリングパラメータおよびシーンの照明パラメータ)および(3)放射輝度を確立するために利用されるピーク形状関数データをそれぞれ格納するレジスタ622、624および626を含む多数のレジスタを有する。装置600の電源が入り次第、マイクロプロセッサ602は、RAM 620のレジスタ622内のプログラムの命令をロードして実行する。
本原理の方法のステップを実装するアルゴリズムは、装置600と関連付けられたグラフィクスカード606のメモリGRAM 610に格納される。装置600の電源が入り次第、RAM 620は、そのレジスタ624にシーンパラメータをロードし、レジスタ626にピーク形状関数データをロードする。その後、RAM 620は、例えば、HLSL(高水準シェーダ言語)言語またはGLSL(OpenGLシェーディング言語)を使用した「シェーダ」タイプのマイクロプログラムの形態のアルゴリズムを介して、GPU 608による実行のために、GRAM 610のレジスタ612および624にこれらのパラメータをロードする。
変形形態によれば、プリミティブに関するデータの少なくともいくつかは、RAM 620に格納され、マイクロプロセッサ602によって処理される。しかし、この変形形態は、データはバス604を介してグラフィクスカード606からRAM 620に送信されるため、GPU 608に含まれるマイクロプログラムから構成された環境の表現を含む画像の構成において多大な待ち時間が生じる。バス604は、一般に、GPU 608からGRAM 610(およびその逆)にデータを送信するためにグラフィクスカード606において利用可能なものより劣る送信能力を有する。
装置600は、典型的には、例えば、キーボード、マウス、ジョイスティック、ウェブカメラ、および、音声認識などの他の入力様式など、1つまたは複数のI/O(入力/出力)デバイス628を含む。また、装置は、様々な要素に給電する電源630も含む。電源630は、装置600内に存することも、その外部にあることもあり得る。装置600内の無線周波数トランシーバ632は、他のデバイスおよびシステムとの情報の送受信のために各種のプロトコル(WiFi(登録商標)、Bluetooth(登録商標)、セルラおよび同様のもの)のうちの1つを介して無線接続を提供する。
さらに、装置600は、例えばライブで、グラフィクスカードにおいて計算および構成された合成画像を表示するためにバス636を介してグラフィクスカード606に直接結合された表示デバイス634(例えば、モニタ)を含む。表示デバイス634をグラフィクスカード606に接続する専用バス636の使用は、はるかに高いデータ送信ビットレートの利点を提供し、従って、グラフィクスカードによって構成される画像を表示するための待ち時間を低減する。変形形態によれば、表示デバイス644は、装置600の外部にあり得、表示信号を受信するためにケーブルまたは無線接続を利用することができる。例えば、表示デバイス634は、LCD、プラズマ画面またはビデオプロテクタの形態を取ることができる。この点において、RFユニット632は、表示信号を表示デバイスに送信するように動作することになる。
本明細書で使用される場合、「レジスタ」という用語は、計算されたまたは表示予定の)データを表すすべてのもしくは一部のデータが格納される予定の低容量(何らかのバイナリデータ)のメモリゾーンおよび大容量(全プログラムの格納が可能)のメモリゾーンを含み得る。さらに、レジスタは、互いに隣接する必要はなく、分散場所に存在することができ、そこでは、1つのレジスタは、いくつかのより小さなレジスタを含み得る。
図7は、本原理による、マイクロファセット鏡面反射放射輝度を確立するプロセス700のステップを形成するフローチャートを描写する。プロセスは、ステップ702の間に視線反射ベクトル
Figure 2018527666

を演算することから始まる。その後、ステップ704の実行を行い、光源エッジの各々に対する反復ループを開始する。ステップ704に続いて、ステップ706が実行され、Ui+1およびxによって得られるエッジ平面への
Figure 2018527666

の直交投影である
Figure 2018527666

を演算する。その後、ステップ708の間に、Sがエッジ上にあるかどうかを判断するためのチェックが行われる。Sがエッジ上にない場合は、プロセスはステップ710を続行し、UおよびUi+1の中間変換を演算する。次に、ステップ712が実行され、法線の周りのUi+1(変換された)エッジ積分を演算する。積分は、ステップ714の間に、(放射輝度への寄与として)光源エッジの総和を求める。その後、ステップ716の間に、エッジが最後のエッジであるかどうかのチェックが行われる。エッジが最後のエッジである場合は、上記で説明される欧州特許第3057067号からの技法を使用して、マイクロファセット放射が確立される。さらなるエッジが存在する場合は、プロセスは、ステップ704に戻る。
ステップ708の間、投影ベクトル
Figure 2018527666

と関連付けられたポイントSは、エッジ上にあり得る。Sがエッジ上にある場合は、ステップ720の実行を行い、点Sにおいてエッジの分割を行う。次に、ステップ722が実行され、U、Ui+1およびSの中間変換を演算する。その後、ステップ724が続き、法線
Figure 2018527666

の周りのUS(変換された)エッジ積分の演算が行われる。ステップ726の間に、放射輝度への光源エッジの積分の寄与の総和が起こり、その後、以前に説明される欧州特許第3057067号からの技法を使用して、法線の周りのSUi+1(変換された)エッジ積分を演算するステップ728が続く。ステップ714による放射輝度へのそのエッジ積分の寄与の総和後、プロセスは、ステップ716に戻る。最終的に、ステップ718において、マイクロファセット鏡面反射放射輝度が確立される。
マイクロファセット鏡面反射放射輝度を確立した後、欧州特許第3057067号で説明されるものとほぼ同じ様式で、レンダリングが行われる。利用される入力は、幾何学的データ、光特性データおよびピーク形状関数データを含む。後者のデータは、特に、ローレンツまたは組み合わされたローレンツ・ピアソン、対応する関連パラメータ(ピアソン関数の場合はmなど)、利用方法(上記で展開されたトリプルピークまたは単一ピーク方法)など、使用されたピーク形状関数のタイプを含み得る。
次の画素または表示サンプルが考慮され、それは、有利には、様々な画素に対して並列に処理される。次の表面点Mもまた、既知のレンダリングプロセスに準拠して、現行の画素に対して処理される。次いで、上記で説明されるように、視線方向と関連付けられた考慮される画素の点Mにおける局所的な放射輝度が演算され、その後、総和が求められる。全セットが処理されるまで、さらなる表面点およびさらなる画素が処理され、完全なレンダリング出力が利用可能になり、動画のために反復される。
グラフィックスプロセッサ608は、図7のステップのいくつかを並列に実行することができ、それにより、効率が高まる。
多くの実装形態について説明してきた。それにもかかわらず、様々な変更を行えることが理解されよう。例えば、異なる実装形態の要素は、他の実装形態を生み出すために、組み合わせることも、補足することも、変更することも、除去することもできる。それに加えて、当業者であれば、他の構造およびプロセスを開示されているものの代わりに代用することができ、結果として得られた実装形態は、開示されている実装形態と少なくとも実質的に同じ結果を達成するために、少なくとも実質的に同じ方法で、少なくとも実質的に同じ機能を実行することが理解されよう。それに従って、これらのおよび他の実装形態がこの出願によって企図される。
具体的には、欧州特許第3057067号で説明され、本開示で言及されるようなピーク形状関数による近似は特に有利であるが、開示されるエッジ分割方法と組み合わせて他の種類の被積分関数の演算を利用することができる。
本原理のレンダリング技法は、以下の利点を潜在的に提供することができる。
− エリア光によって照明が当てられた物理的に妥当な鏡面の簡単で効率的なレンダリング
− VFX、アニメーションおよびゲーム産業において広く利用されるマイクロファセット理論との一致
− 小さな演算オーバーヘッド
− 並列アーキテクチャおよびグラフィックスハードウェア上での容易な実装
− リアルタイムのレンダリングに適した高速解決法
− 生産レンダラまたはゲームエンジン上での容易な実装

Claims (10)

  1. 少なくとも1つのエリア光源(A)によって照らされる表面の鏡面反射部分をレンダリングする方法であって、
    前記表面のシェーディングポイント(x)においてレンダリング予定の画像と関連付けられた、前記表面に対する視線方向
    Figure 2018527666

    の反射である視線反射ベクトル
    Figure 2018527666

    を確立することと、
    前記シェーディングポイントに向けた前記少なくとも1つのエリア光源(A)を前記シェーディングポイントを中心とする単位球に投影するものである投影エリアの各球面エッジUi+1に対し、(a)前記球面エッジUi+1および前記シェーディングポイントによって定義される平面への前記視線反射ベクトル
    Figure 2018527666

    の正規化投影ベクトル
    Figure 2018527666

    を確立すること(702)、(b)前記ベクトル
    Figure 2018527666

    と関連付けられた単一の点SがエッジUi+1の内側にあるかどうかを判断すること(706、708)、ならびに、内側にある場合は、放射輝度を確立するために、(c)U、SおよびUi+1の中間変換を実行すること(720、722)、および、(d)U、SおよびS、Ui+1のエッジ積分を実行すること(714、724、726、728)によって、局所的な放射輝度を確立することと、
    すべてのエッジにわたって反復すること(704、716)と、
    すべてのエッジの前記局所的な放射輝度の総和を求めること(714)と、
    前記確立された放射輝度に従って前記表面をレンダリングすること(718)と
    を含む、方法。
  2. リアルタイムのレンダリング方法である、請求項1に記載の方法。
  3. 鏡面のレンダリングのものである、請求項1または2に記載の方法。
  4. SがUi+1の内側にない場合(708)は、U、SおよびS、Ui+1の中間変換を実行し、U、SおよびS、Ui+1のエッジ積分を実行する代わりに、UおよびUi+1の中間変換を実行し(710)、U、Ui+1の前記エッジ積分を評価する(712)、請求項1または3に記載の方法。
  5. 前記中間変換が、視線方向と位置合わせされた停留変曲をもたらす、請求項1〜4のいずれか一項に記載の方法。
  6. 少なくとも1つのエリア光源(A)によって照らされる表面の鏡面反射部分をレンダリングする装置(600)であって、
    データおよびプログラム命令を格納するメモリ(610、618、620)と、
    (1)前記表面のシェーディングポイント(x)においてレンダリング予定の画像と関連付けられた、前記表面に対する視線方向
    Figure 2018527666

    の反射である視線反射ベクトル
    Figure 2018527666

    を確立することと、(2)前記シェーディングポイントに向けた前記少なくとも1つのエリア光源(A)を前記シェーディングポイントを中心とする単位球に投影するものである投影エリアの各球面エッジUi+1に対し、(a)前記球面エッジUi+1および前記シェーディングポイントによって定義される平面への前記視線反射ベクトル
    Figure 2018527666

    の正規化投影ベクトル
    Figure 2018527666

    を確立すること(702)、(b)前記ベクトル
    Figure 2018527666

    と関連付けられた単一の点SがエッジUi+1の内側にあるかどうかを判断すること(706、708)、ならびに、内側にある場合は、放射輝度を確立するために、(c)U、SおよびUi+1の中間変換を実行すること(720、722)、および、(d)U、SおよびS、Ui+1のエッジ積分を実行すること(714、724、726、728)によって、局所的な放射輝度を確立することと、(3)すべてのエッジにわたって反復すること(704、716)と、(4)すべてのエッジの前記局所的な放射輝度の総和を求めること(714)と、(5)前記確立された放射輝度に従って前記表面をレンダリングすること(718)とを行うように構成されたグラフィカル回路(606)と、
    前記グラフィカル回路を制御するマイクロプロセッサ(604)と、
    前記メモリ、グラフィカル回路および前記マイクロプロセッサを相互接続するバス(602)と
    を含む、装置(600)。
  7. リアルタイムのレンダリングの装置である、請求項6に記載の装置(600)。
  8. 鏡面のレンダリングのものである、請求項6または7に記載の装置(600)。
  9. SがUi+1の内側にない場合(708)は、前記グラフィカル回路が、U、SおよびUi+1の中間変換を実行し、U、SおよびS、Ui+1のエッジ積分を実行する代わりに、UおよびUi+1の中間変換を実行し(710)、U、Ui+1の前記エッジ積分を評価する(712)、請求項6〜8のいずれか一項に記載の装置。
  10. 前記中間変換が、視線方向と位置合わせされた停留変曲をもたらす、請求項6〜9のいずれか一項に記載の装置。
JP2018506583A 2015-08-11 2016-08-04 鏡面の画像のリアルタイムレンダリングの方法および装置 Pending JP2018527666A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP15306284.9A EP3131063A1 (en) 2015-08-11 2015-08-11 Method and apparatus for real-time rendering of images of specular surfaces
EP15306284.9 2015-08-11
PCT/EP2016/068699 WO2017025446A1 (en) 2015-08-11 2016-08-04 Method and apparatus for real-time rendering of images of specular surfaces

Publications (1)

Publication Number Publication Date
JP2018527666A true JP2018527666A (ja) 2018-09-20

Family

ID=54014748

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018506583A Pending JP2018527666A (ja) 2015-08-11 2016-08-04 鏡面の画像のリアルタイムレンダリングの方法および装置

Country Status (6)

Country Link
US (1) US20180225865A1 (ja)
EP (2) EP3131063A1 (ja)
JP (1) JP2018527666A (ja)
KR (1) KR20180040155A (ja)
CN (1) CN107924581A (ja)
WO (1) WO2017025446A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
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
EP3163537A1 (en) * 2015-10-30 2017-05-03 Thomson Licensing Method and apparatus for determining accurate area light illumination using ellipsoid based functions
CN111489448A (zh) * 2019-01-24 2020-08-04 宏达国际电子股份有限公司 检测真实世界光源的方法、混合实境系统及记录介质

Also Published As

Publication number Publication date
EP3131063A1 (en) 2017-02-15
US20180225865A1 (en) 2018-08-09
CN107924581A (zh) 2018-04-17
WO2017025446A1 (en) 2017-02-16
KR20180040155A (ko) 2018-04-19
EP3335196A1 (en) 2018-06-20

Similar Documents

Publication Publication Date Title
Li et al. Differentiable monte carlo ray tracing through edge sampling
US10607404B2 (en) Device and method for estimating a glossy part of radiation
US20170358132A1 (en) System And Method For Tessellation In An Improved Graphics Pipeline
JP2021089721A (ja) 修正多重重点的サンプリングを用いる画像のレンダリング
US11429690B2 (en) Interactive path tracing on the web
Velinov et al. Real‐time rendering of wave‐optical effects on scratched surfaces
JP2018527666A (ja) 鏡面の画像のリアルタイムレンダリングの方法および装置
Menzel et al. Towards perceptual simplification of models with arbitrary materials
Drobot Physically based area lights
Valdetaro et al. Understanding shader model 5.0 with directx11
Castro et al. Calibration of spatial distribution of light sources in reflectance transformation imaging based on adaptive local density estimation
Kán et al. High-quality consistent illumination in mobile augmented reality by radiance convolution on the gpu
Timonen et al. Scalable Height Field Self‐Shadowing
US20180238800A1 (en) Method and apparatus for determining accurate area light illumination using elipsoid based functions
US9342901B2 (en) Material data processing pipeline
Takimoto et al. Dressi: A Hardware‐Agnostic Differentiable Renderer with Reactive Shader Packing and Soft Rasterization
KR100951121B1 (ko) 간접 조명 효과를 위한 렌더링 방법
TWI616844B (zh) 當複合物件在圖形影像中無法產生可見改變時促進圖形處理單元中此等物件之淘汰的技術
JP4847910B2 (ja) 人間の肌のような半透明の材質のための、曲率ベースレンダリング方法及び装置
Meunier et al. Cosine lobes for interactive direct lighting in dynamic scenes
Güssefeld et al. Creating Feasible Reflectance Data for Synthetic Optical Flow Datasets
Guo et al. Real-time rendering of refracting transmissive objects with multi-scale rough surfaces
US20180005432A1 (en) Shading Using Multiple Texture Maps
Bethe et al. Preserving Shadow Silhouettes in Illumination‐Driven Mesh Reduction
Zhao et al. 3D gradient enhancement