Your SlideShare is downloading. ×

BRDF レンダリングの方程式
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

BRDF レンダリングの方程式

3,561
views

Published on

BRDFの関数について記載しています。 …

BRDFの関数について記載しています。
フレネル、屈折率の計算部分など書きました。

学部生時代に書いたノートです。(2007年)
当時BRDFをJAVAで実装しまして、備忘録として残しました。
実装する上で理解するために作成したので、
少し噛み砕いた形で記載されているとおもいます。

もし何か質問がある場合は次までおねがいします。
@rocky_house

Published in: Technology

0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,561
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
31
Comments
0
Likes
7
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. BRDF 双方向反射分布関数 Yasuhiro Todoroki
  • 2. 理論 物体の情報(色、質感など)は、光源か らのエネルギーが物体に反射してエネル ギー情報が変化し、その変化したエネル ギーを目が受取り、情報を判断する。 双方向という意味は、 視点と、光源が入れ替わっても、受け取 るエネルギーが等しいことを意味する。 つまり、現在の目の位置に、光源が、 光源の位置に目が行った際、 光源の位置に行った目が受け取るエネル ギーは前のエネルギーと変化がない。 ( Helmoholtz の相反性)
  • 3. BRDF とは その場所の色は、表面上の ・形状、材質、特製など、様々な要因による。 それらをオブジェクト毎に細かくモデル化し、描画する。 分布関数 幾何減衰率 フレネルの関数 の三つを用いて BRDF はモデル化される。 BRDF モデルによる質感表現
  • 4. 表面分布特性( BRDF のモデル 化) 物体の表面は完全に滑らかではなく、材質によって異なっている。その表面の 粗さ(光沢や艶と呼ばれる性質)に対する光現象をモデル化し、数式化する。 つまり表面での凹凸によって生じる光の散乱を表現する。 金属のような材質感の表現に向く。 入射光 反射光 光の散乱 表面の粗さ
  • 5. 表面分布特性( BRDF のモデル 化) 物体の面は小さな凹凸を持つ微小面の集まりと考え、それら微小面が鏡面反射す ると考える。 N H : L と V との垂直二等分線    H L γ V θ H の分布は鏡面反射する微小面の 向きの分布を表すと同時に表面の 粗さによる鏡面反射光の輝度分布 を表す。 つまり、この分布を求めることに より、鏡面反射の輝度が求まる。 θ 物体表面 微小面 H を法線ベクトルとする微小面が物体表面に存在すると考える。 cosγ = N ・ H
  • 6. Microfacet Distribution Function 微小面勾配分布関数 分布特性には、一般に次式の分布関数を用いる。 様々な分布関数が存在する ガウス分布関 数 ベックマン分布関数 Cook と Torrance が使用した方式。 Reitz の分布 関数より優れた理論根拠を持っているといった。 Reitz の分布関数を使用すれば Blinn モデルとなる 。 D(γ ) = C exp(−(γ / m) 2 ) γ は前述の角度 1 −[ (tan γ ) ]2 m D = D ' (m, γ ) = e 4m 2 cos 4 γ cosγ = N ・ H m = 0.2~0.7 m が小さければ反射は鋭い指向性を持ち、大きいと反射光が散乱 する。 いくつもモデリングする場合は単純に和で求まる。 D= ∑ w D(m ) 1≤ j ≤ n j j Wj の和は1である
  • 7. Microfacet Distribution Function 微小面勾配分布関数 ブリン( Blin )
  • 8. 幾何減衰率 (The Geometrical Attenuation Factor) 物体表面の微小面は小さな凹凸をもっているので、これに光が当たると光の 入射角と微小面の関わりによって光が遮れられる。 値が 1 より小さい時光は遮れられるから、この値を、入射角によって影響を 受ける減衰率とみなすことができ、幾何学的減衰係数 G と定義できる。減衰 率 G の範囲は 0( 完全なシャドウ ) ~ 1( シャドウなし ) である。また値は 1 より大きいことはない。 2( NH )( NL ) Gb = VH 直接光が遮られる 反射光が遮られる Gc = 2( NH )( NV ) VH ※ それぞれ単位ベクトル G = min{1, Gb, Gc}
  • 9. フレネルの方程式 (The Fresnel Term) phone shading でいうところの鏡面反射係数( Ws(θ) )に相当する反射率 F ( λ,θ )を導入する。光の反射は光の波長に左右されることと、角度に依存する ことを考慮した鏡面反射率である反射率 F ( λ,θ )は以下の Fresnel の式を使用す る。   c( g + c) − 12  1 ( g − c) F (λ , θ ) = 1 +    2 2 ( g + c)   c( g + c) + 1    c = cos θ = (VH ) = ( LH ) 2 g 2 = ηλ + c 2 − 1 2 η λ = η tλ η iλ θ :入射角 ηλ   : 屈折率 ηiλ 第一媒体 ηtλ 第二媒体 導体の媒質は光を減衰するため、物体の複素屈折率を考慮する必要がある。 ηλ= ηλ-ikλ kλ は物質の吸光率
  • 10. BRDF の式の決定 微小面勾配分布関数 幾何学的減衰関数 反射率 I spec D(γ) G F(λ 、 θ) F (λ ,θ ) D (γ )G = π ( NV )( NL ) 以上から、 BRDF は一般化される。 Ispec は鏡面反射光の輝度
  • 11. BRDF の式全体 Ka I = Kdρ (λ ,θ ) + Ksρ s (λ , VH ) • D • G • ( NL)    Ks : π ( NV ) I = Kdρ (λ ,θ ) + Ksρ s (λ , VH ) • D • G • ( NL)   環境光 鏡面反射 反射率 光の波長 R,G,B ベクトルの掛け算 NL  光の入射角 H →   L と V の harfVector H   = (L+V)/2 D : Distributing function 光の拡散率  : Backup 式 →   D(NH) G : 減衰率(ざらざらを)表現    ブリン式に基づく Kd ・ Tx ・ ρ(λ,θ) 全体の reflectance
  • 12. Ashikhmin 照明モデル ρ (V , L) = ρ d (V , L) + ρ s (V , L) ρd :diff ρs :spec ρ(V,L) は二つに分解可能である。 Secular 成分について見ていくと、 phong のモデルとして以下の式が挙げられる。 ( NH ) ρ s (V , L) = c NL n しかしこの時 ,ρd(V,L)=ρd(V,L) でないため Helmoholtz の相反性を満たしていない。 そのため相反性を満たす Neumann & Neumann の BRDF の式+金属物質の関係式 Frensel 項 が追加された式は以下の通りである。 n ( NH ) ρ s (V , L) = c F ( KH ) K は L か V のどちらか max( NV , NL)
  • 13. Ashikhmin 照明モデル Ashikhmin らは、この BRDF に異方性を追加した。 異方性は、反射のパラメータ n を拡張。 n に関して、従法線ベクトル方向 u 、接ベクトル方向 v に応じて反射率が違うものと 設定。 ここで、従法線ベクトルや接ベクトルは、それぞれの局所座標で直行する必要がある 。 N しかし場所に応じて向きは異なり、例えば、CDの裏面をレンダリングしようと思え ば、 従法線ベクトルや接ベクトルは、CDの動径方向と、円周方向に取るのが適切で ある。
  • 14. Ashikhmin 照明モデル Ashikhmin らによる BRDF は、次のようになる。 nu cos 2 φ + nv sin 2 φ ( NH ) ρ s (V , L) = c F ( KH ) max( NV , NL) nu = nv の異方性がないときには、 Ashikhmin らの BRDF は、 Neumann & Neumann の BRDF と一致 係数cにおいては以下の通り R(V ) = ∫ ρ (V , L) cos θ | dθ | ≤ 1 Ashikhmin らは、拡散光成分に関しても議論しており、彼らは、 Shirley らによ る総エネルギーの保存を考慮した、拡散光に関する BRDF も導いたページに式を 記載する。
  • 15. Ashikhmin モデルで使われる BRDF の 式 1 2 1 2 nu cos 2 φ + nv sin 2 φ (nu + 1) (nv + 1) ( NH ) ρ s (V , L) = Rs F ( KH ) 8π ( HK ) max( NV , NL) 28 NV 5 NL 5 ρ d (V , L) = Rd (1 − Rs )(1 − (1 − ) )(1 − (1 − ) ) 23π 2 2