SlideShare a Scribd company logo
1 of 16
BRDF
双方向反射分布関数
Yasuhiro Todoroki
理論

物体の情報(色、質感など)は、光源か
らのエネルギーが物体に反射してエネル
ギー情報が変化し、その変化したエネル
ギーを目が受取り、情報を判断する。
双方向という意味は、
視点と、光源が入れ替わっても、受け取
るエネルギーが等しいことを意味する。
つまり、現在の目の位置に、光源が、
光源の位置に目が行った際、
光源の位置に行った目が受け取るエネル
ギーは前のエネルギーと変化がない。
( Helmoholtz の相反性)
BRDF とは
その場所の色は、表面上の
・形状、材質、特製など、様々な要因による。
それらをオブジェクト毎に細かくモデル化し、描画する。

分布関数
幾何減衰率
フレネルの関数
の三つを用いて BRDF はモデル化される。

BRDF モデルによる質感表現
表面分布特性( BRDF のモデル
化)
物体の表面は完全に滑らかではなく、材質によって異なっている。その表面の
粗さ(光沢や艶と呼ばれる性質)に対する光現象をモデル化し、数式化する。
つまり表面での凹凸によって生じる光の散乱を表現する。
金属のような材質感の表現に向く。
入射光
反射光
光の散乱

表面の粗さ
表面分布特性( BRDF のモデル
化)

物体の面は小さな凹凸を持つ微小面の集まりと考え、それら微小面が鏡面反射す
ると考える。
N
H : L と V との垂直二等分線
  
H
L
γ

V
θ

H の分布は鏡面反射する微小面の
向きの分布を表すと同時に表面の
粗さによる鏡面反射光の輝度分布
を表す。
つまり、この分布を求めることに
より、鏡面反射の輝度が求まる。

θ

物体表面
微小面
H を法線ベクトルとする微小面が物体表面に存在すると考える。

cosγ = N ・ H
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である
Microfacet Distribution Function
微小面勾配分布関数

ブリン( Blin )
幾何減衰率
(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}
フレネルの方程式
(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λ は物質の吸光率
BRDF の式の決定
微小面勾配分布関数
幾何学的減衰関数
反射率

I spec

D(γ)
G
F(λ 、 θ)

F (λ ,θ ) D (γ )G
=
π ( NV )( NL )

以上から、 BRDF は一般化される。
Ispec は鏡面反射光の輝度
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
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)
Ashikhmin 照明モデル
Ashikhmin らは、この BRDF に異方性を追加した。
異方性は、反射のパラメータ n を拡張。
n に関して、従法線ベクトル方向 u 、接ベクトル方向 v に応じて反射率が違うものと
設定。
ここで、従法線ベクトルや接ベクトルは、それぞれの局所座標で直行する必要がある
。
N

しかし場所に応じて向きは異なり、例えば、CDの裏面をレンダリングしようと思え
ば、 従法線ベクトルや接ベクトルは、CDの動径方向と、円周方向に取るのが適切で
ある。
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 も導いたページに式を
記載する。
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

More Related Content

What's hot

What's hot (20)

SSII2020TS: 物理ベースビジョンの過去・現在・未来 〜 カメラ・物体・光のインタラクションを モデル化するには 〜
SSII2020TS: 物理ベースビジョンの過去・現在・未来 〜 カメラ・物体・光のインタラクションを モデル化するには 〜SSII2020TS: 物理ベースビジョンの過去・現在・未来 〜 カメラ・物体・光のインタラクションを モデル化するには 〜
SSII2020TS: 物理ベースビジョンの過去・現在・未来 〜 カメラ・物体・光のインタラクションを モデル化するには 〜
 
フォトンマッピング入門
フォトンマッピング入門フォトンマッピング入門
フォトンマッピング入門
 
論文解説:スマホカメラを用いたBRDFパラメータ取得技術(非DNN)「Two-Shot SVBRDF Capture for Stationary Mat...
論文解説:スマホカメラを用いたBRDFパラメータ取得技術(非DNN)「Two-Shot SVBRDF Capture for Stationary Mat...論文解説:スマホカメラを用いたBRDFパラメータ取得技術(非DNN)「Two-Shot SVBRDF Capture for Stationary Mat...
論文解説:スマホカメラを用いたBRDFパラメータ取得技術(非DNN)「Two-Shot SVBRDF Capture for Stationary Mat...
 
【メタサーベイ】Neural Fields
【メタサーベイ】Neural Fields【メタサーベイ】Neural Fields
【メタサーベイ】Neural Fields
 
SSII2018TS: 3D物体検出とロボットビジョンへの応用
SSII2018TS: 3D物体検出とロボットビジョンへの応用SSII2018TS: 3D物体検出とロボットビジョンへの応用
SSII2018TS: 3D物体検出とロボットビジョンへの応用
 
SSII2019企画: 点群深層学習の研究動向
SSII2019企画: 点群深層学習の研究動向SSII2019企画: 点群深層学習の研究動向
SSII2019企画: 点群深層学習の研究動向
 
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
 
20190307 visualslam summary
20190307 visualslam summary20190307 visualslam summary
20190307 visualslam summary
 
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
 
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
【DL輪読会】Efficiently Modeling Long Sequences with Structured State Spaces
 
研究効率化Tips Ver.2
研究効率化Tips Ver.2研究効率化Tips Ver.2
研究効率化Tips Ver.2
 
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
 
SSII2020TS: Event-Based Camera の基礎と ニューラルネットワークによる信号処理 〜 生き物のように「変化」を捉えるビジョンセ...
SSII2020TS: Event-Based Camera の基礎と ニューラルネットワークによる信号処理 〜 生き物のように「変化」を捉えるビジョンセ...SSII2020TS: Event-Based Camera の基礎と ニューラルネットワークによる信号処理 〜 生き物のように「変化」を捉えるビジョンセ...
SSII2020TS: Event-Based Camera の基礎と ニューラルネットワークによる信号処理 〜 生き物のように「変化」を捉えるビジョンセ...
 
Lucas kanade法について
Lucas kanade法についてLucas kanade法について
Lucas kanade法について
 
三次元表現まとめ(深層学習を中心に)
三次元表現まとめ(深層学習を中心に)三次元表現まとめ(深層学習を中心に)
三次元表現まとめ(深層学習を中心に)
 
【DL輪読会】GET3D: A Generative Model of High Quality 3D Textured Shapes Learned f...
【DL輪読会】GET3D: A Generative Model of High Quality 3D Textured Shapes Learned f...【DL輪読会】GET3D: A Generative Model of High Quality 3D Textured Shapes Learned f...
【DL輪読会】GET3D: A Generative Model of High Quality 3D Textured Shapes Learned f...
 
[DL輪読会]Pixel2Mesh: Generating 3D Mesh Models from Single RGB Images
[DL輪読会]Pixel2Mesh: Generating 3D Mesh Models from Single RGB Images[DL輪読会]Pixel2Mesh: Generating 3D Mesh Models from Single RGB Images
[DL輪読会]Pixel2Mesh: Generating 3D Mesh Models from Single RGB Images
 
3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理
3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理
3次元レジストレーションの基礎とOpen3Dを用いた3次元点群処理
 
コンピューテーショナルフォトグラフィ
コンピューテーショナルフォトグラフィコンピューテーショナルフォトグラフィ
コンピューテーショナルフォトグラフィ
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情
 

Viewers also liked (6)

Shadow gunのサンプルから学べるモバイル最適化
Shadow gunのサンプルから学べるモバイル最適化Shadow gunのサンプルから学べるモバイル最適化
Shadow gunのサンプルから学べるモバイル最適化
 
Unityのasset bundle運用実例@lordofknights
Unityのasset bundle運用実例@lordofknightsUnityのasset bundle運用実例@lordofknights
Unityのasset bundle運用実例@lordofknights
 
Extending the Unity Editor Extended
Extending the Unity Editor ExtendedExtending the Unity Editor Extended
Extending the Unity Editor Extended
 
知って得するUnity エディタ拡張編
知って得するUnity エディタ拡張編知って得するUnity エディタ拡張編
知って得するUnity エディタ拡張編
 
うちではこうやっています UI構築のルールとPlaymakerを使った画面遷移
うちではこうやっています UI構築のルールとPlaymakerを使った画面遷移うちではこうやっています UI構築のルールとPlaymakerを使った画面遷移
うちではこうやっています UI構築のルールとPlaymakerを使った画面遷移
 
Unity エディタ拡張
Unity エディタ拡張Unity エディタ拡張
Unity エディタ拡張
 

BRDF レンダリングの方程式