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

[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...
[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...
[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...Deep Learning JP
 
【DL輪読会】Novel View Synthesis with Diffusion Models
【DL輪読会】Novel View Synthesis with Diffusion Models【DL輪読会】Novel View Synthesis with Diffusion Models
【DL輪読会】Novel View Synthesis with Diffusion ModelsDeep Learning JP
 
HDR Theory and practicce (JP)
HDR Theory and practicce (JP)HDR Theory and practicce (JP)
HDR Theory and practicce (JP)Hajime Uchimura
 
なぜなにリアルタイムレンダリング
なぜなにリアルタイムレンダリングなぜなにリアルタイムレンダリング
なぜなにリアルタイムレンダリングSatoshi Kodaira
 
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~SSII
 
三次元点群を取り扱うニューラルネットワークのサーベイ
三次元点群を取り扱うニューラルネットワークのサーベイ三次元点群を取り扱うニューラルネットワークのサーベイ
三次元点群を取り扱うニューラルネットワークのサーベイNaoya Chiba
 
Sift特徴量について
Sift特徴量についてSift特徴量について
Sift特徴量についてla_flance
 
[解説スライド] NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
[解説スライド] NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis[解説スライド] NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
[解説スライド] NeRF: Representing Scenes as Neural Radiance Fields for View SynthesisKento Doi
 
【メタサーベイ】Neural Fields
【メタサーベイ】Neural Fields【メタサーベイ】Neural Fields
【メタサーベイ】Neural Fieldscvpaper. challenge
 
3次元レジストレーション(PCLデモとコード付き)
3次元レジストレーション(PCLデモとコード付き)3次元レジストレーション(PCLデモとコード付き)
3次元レジストレーション(PCLデモとコード付き)Toru Tamaki
 
tf,tf2完全理解
tf,tf2完全理解tf,tf2完全理解
tf,tf2完全理解Koji Terada
 
3次元計測とフィルタリング
3次元計測とフィルタリング3次元計測とフィルタリング
3次元計測とフィルタリングNorishige Fukushima
 
30th コンピュータビジョン勉強会@関東 DynamicFusion
30th コンピュータビジョン勉強会@関東 DynamicFusion30th コンピュータビジョン勉強会@関東 DynamicFusion
30th コンピュータビジョン勉強会@関東 DynamicFusionHiroki Mizuno
 
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​SSII
 
画像生成・生成モデル メタサーベイ
画像生成・生成モデル メタサーベイ画像生成・生成モデル メタサーベイ
画像生成・生成モデル メタサーベイcvpaper. challenge
 
LiDAR点群とSfM点群との位置合わせ
LiDAR点群とSfM点群との位置合わせLiDAR点群とSfM点群との位置合わせ
LiDAR点群とSfM点群との位置合わせTakuya Minagawa
 
【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意
【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意
【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意UnityTechnologiesJapan002
 
【Unity】より良い表現のためのライティング戦略
【Unity】より良い表現のためのライティング戦略【Unity】より良い表現のためのライティング戦略
【Unity】より良い表現のためのライティング戦略Takayasu Beharu
 

What's hot (20)

[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...
[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...
[DL輪読会]A Higher-Dimensional Representation for Topologically Varying Neural R...
 
【DL輪読会】Novel View Synthesis with Diffusion Models
【DL輪読会】Novel View Synthesis with Diffusion Models【DL輪読会】Novel View Synthesis with Diffusion Models
【DL輪読会】Novel View Synthesis with Diffusion Models
 
HDR Theory and practicce (JP)
HDR Theory and practicce (JP)HDR Theory and practicce (JP)
HDR Theory and practicce (JP)
 
なぜなにリアルタイムレンダリング
なぜなにリアルタイムレンダリングなぜなにリアルタイムレンダリング
なぜなにリアルタイムレンダリング
 
Global Illumination
Global IlluminationGlobal Illumination
Global Illumination
 
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
SSII2019TS: 実践カメラキャリブレーション ~カメラを用いた実世界計測の基礎と応用~
 
三次元点群を取り扱うニューラルネットワークのサーベイ
三次元点群を取り扱うニューラルネットワークのサーベイ三次元点群を取り扱うニューラルネットワークのサーベイ
三次元点群を取り扱うニューラルネットワークのサーベイ
 
Sift特徴量について
Sift特徴量についてSift特徴量について
Sift特徴量について
 
[解説スライド] NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
[解説スライド] NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis[解説スライド] NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
[解説スライド] NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
 
【メタサーベイ】Neural Fields
【メタサーベイ】Neural Fields【メタサーベイ】Neural Fields
【メタサーベイ】Neural Fields
 
3次元レジストレーション(PCLデモとコード付き)
3次元レジストレーション(PCLデモとコード付き)3次元レジストレーション(PCLデモとコード付き)
3次元レジストレーション(PCLデモとコード付き)
 
tf,tf2完全理解
tf,tf2完全理解tf,tf2完全理解
tf,tf2完全理解
 
3次元計測とフィルタリング
3次元計測とフィルタリング3次元計測とフィルタリング
3次元計測とフィルタリング
 
30th コンピュータビジョン勉強会@関東 DynamicFusion
30th コンピュータビジョン勉強会@関東 DynamicFusion30th コンピュータビジョン勉強会@関東 DynamicFusion
30th コンピュータビジョン勉強会@関東 DynamicFusion
 
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
 
画像生成・生成モデル メタサーベイ
画像生成・生成モデル メタサーベイ画像生成・生成モデル メタサーベイ
画像生成・生成モデル メタサーベイ
 
LiDAR点群とSfM点群との位置合わせ
LiDAR点群とSfM点群との位置合わせLiDAR点群とSfM点群との位置合わせ
LiDAR点群とSfM点群との位置合わせ
 
GPU最適化入門
GPU最適化入門GPU最適化入門
GPU最適化入門
 
【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意
【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意
【Unite Tokyo 2018】『崩壊3rd』開発者が語るアニメ風レンダリングの極意
 
【Unity】より良い表現のためのライティング戦略
【Unity】より良い表現のためのライティング戦略【Unity】より良い表現のためのライティング戦略
【Unity】より良い表現のためのライティング戦略
 

Viewers also liked

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

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 レンダリングの方程式