Smoth Diffuse Surface (Lambert BRDF)
本ページでは,モンテカルロレイトレーシング法において, 理想拡散反射表面をレンダリングする方法を説明する. 理想拡散反射表面として Lambert BRDF の実装に必要な パラメータや数式,重点的サンプリングの方法を説明する.
Lambert BRDF
Lambert BRDFは,全ての方向に放射輝度が等しく反射するBRDFで
fr(x,ωi,ωo)=ρπ
で定義される.ここで,ρ は表面の反射率を表す.
重点的サンプリング (Importance Sampling)
反射方向 ωo の重点的サンプリングを行う. Lambert BRDF では, ωo は反射エネルギー分布に従ってサンプリングする. すなわち,反射方向のpdf p(ωo) は
p(ωo)=cosθωoπ
となる.ここで, cosθωo=ωo⋅ωn である.
重点的サンプリングの際の反射レイのWeightは
fr(x,ωi,ωo)(ωo⋅ωn)p(ωo)=ρ
となる.
ωo のサンプリング
反射方向 ωo のサンプリングには逆関数法を用いる.
注意として,このサンプリング方法は 法線が ωn=(0,0,1) の時の 反射方向をサンプリングしているため, サンプリング後は任意の法線に対応するように基底変換をする.
P(θ,ϕ)=∫ϕ0∫θ0p(θ′,ϕ′) sinθ′ dθ′dϕ′=ϕ2π⋅(1−cos2θ)P(θ)=1−cos2θP(ϕ)=ϕ2π
上記の P(θ),P(ϕ) から, 反射方向の θ,ϕ は以下の式から求めることができる.
θ=cos−1(√1−u1)ϕ=2πu2
ここで, u1,u2 は [0,1) の乱数である.
まとめ
パラメータ
名称 | 記号 | 値 |
---|---|---|
反射率 | ρ | 0≤ρ≤1 |
レンダリング
名称 | 記号 | 値 |
---|---|---|
BRDF | fr(x,ωi,ωo) | ρπ |
p(ωo) | cosθωoπ | |
反射レイのWeight | fr(x,ωi,ωo)(ωo⋅ωn)p(ωo) | ρ |
以上,Lambert BRDFについてまとめた.
参考文献
- H. W. Jensen: Monte Carlo Ray Tracing (2003)
- H. Son: Realistic Image Synthesis with Light Transport (2015)