Slide 1

Slide 1 text

Volume表現の GGX(Microfacet) KiNaNkomoti

Slide 2

Slide 2 text

目次 Microfacet理論とGGX Microfacet BSDFの問題点 Volume Rendering Microflake理論 Volume 表現のGGX

Slide 3

Slide 3 text

Microfacet理論と GGX

Slide 4

Slide 4 text

粗さを持つマテリアル 現実世界のマテリアルは「粗さ (Roughness)」という概念を持つ 錆、傷など様々な原因で物質は「粗い」質感を持っていく

Slide 5

Slide 5 text

「粗さ」の原因 「粗さ」は表面の小さな凹凸によって生じていると考えられる 入射してきた光は微小な凹凸によって様々な方向へと反射する

Slide 6

Slide 6 text

Microfacet理論 「粗さを持つ表面の反射は表面のMicrofacet という微小な凹凸によって生じている」

Slide 7

Slide 7 text

Microfacet理論 Microfacet理論に基づいたBSDFは何処でも使われている

Slide 8

Slide 8 text

Microfacet理論 Microfacet理論に基づいたBSDFは何処でも使われている 主にSpecular反射のBRDFが有名 𝑓 𝜔𝑖 , 𝜔𝑜 = 𝐹 𝜔𝑖 , 𝜔ℎ 𝐷 𝜔ℎ 𝐺2 (𝜔𝑖 , 𝜔𝑜 , 𝜔ℎ ) 4 |𝜔𝑖 ⋅ 𝑛| 𝜔𝑜 ⋅ 𝑛 ここではこの式をMicrofacet BRDFと呼ぶ Microfacet BRDF

Slide 9

Slide 9 text

Microfacet BRDF 𝐹 𝜔𝑖 , 𝜔ℎ 𝐷 𝜔ℎ 𝐺2 (𝜔𝑖 , 𝜔𝑜 , 𝜔ℎ ) 4 |𝜔𝑖 ⋅ 𝑛| 𝜔𝑜 ⋅ 𝑛 フレネル 法線分布関数 (Normal Distribution) シャドウィングマスキング 関数 補正項

Slide 10

Slide 10 text

Microfacet BRDF 𝐹 𝜔𝑖 , 𝜔ℎ 𝐷 𝜔ℎ 𝐺2 (𝜔𝑖 , 𝜔𝑜 , 𝜔ℎ ) 4 |𝜔𝑖 ⋅ 𝑛| 𝜔𝑜 ⋅ 𝑛 フレネル • 反射率を示す • ハーフベクトルを法線とするMicrofacetとしか反射 しないため、ハーフベクトルとのフレネルになる。 𝜔ℎ 𝜔𝑖 𝜔𝑜 Microfacet

Slide 11

Slide 11 text

Microfacet BRDF 𝐹 𝜔𝑖 , 𝜔ℎ 𝐷 𝜔ℎ 𝐺2 (𝜔𝑖 , 𝜔𝑜 , 𝜔ℎ ) 4 |𝜔𝑖 ⋅ 𝑛| 𝜔𝑜 ⋅ 𝑛 法線分布関数 (Normal Distribution) • ある法線𝜔ℎ を持つMicrofacetの面積を返す関数 • Microfacetの割合を示すものとしてみてよい

Slide 12

Slide 12 text

Microfacet BRDF 𝐹 𝜔𝑖 , 𝜔ℎ 𝐷 𝜔ℎ 𝐺2 (𝜔𝑖 , 𝜔𝑜 , 𝜔ℎ ) 4 |𝜔𝑖 ⋅ 𝑛| 𝜔𝑜 ⋅ 𝑛 シャドウィングマスキング関数 • 他のMicrofacetによって遮蔽(Shadowing Masking) される割合を示す関数

Slide 13

Slide 13 text

Microfacet BRDFのモデル Microfacetの形状によって𝐷 𝜔ℎ , 𝐺2 (𝜔𝑖 , 𝜔𝑜 , 𝜔ℎ )が変わる 色々な形状が考えられており、それぞれ~モデルという形で呼ばれる

Slide 14

Slide 14 text

Microfacet BRDFのモデル Microfacetの形状によって𝐷 𝜔ℎ , 𝐺2 (𝜔𝑖 , 𝜔𝑜 , 𝜔ℎ )が変わる 色々な形状が考えられており、それぞれ~モデルという形で呼ばれる Torrance-Sparrow Model

Slide 15

Slide 15 text

Microfacet BRDFのモデル Microfacetの形状によって𝐷 𝜔ℎ , 𝐺2 (𝜔𝑖 , 𝜔𝑜 , 𝜔ℎ )が変わる 色々な形状が考えられており、それぞれ~モデルという形で呼ばれる Torrance-Sparrow Model Cook-Torrance Model

Slide 16

Slide 16 text

Microfacet BRDFのモデル Microfacetの形状によって𝐷 𝜔ℎ , 𝐺2 (𝜔𝑖 , 𝜔𝑜 , 𝜔ℎ )が変わる 色々な形状が考えられており、それぞれ~モデルという形で呼ばれる Torrance-Sparrow Model Cook-Torrance Model GGX Model(Walter Model)

Slide 17

Slide 17 text

GGX Model (Walter Model) GGXモデル(Walter Model)は[Walter et al. 2007]に発表されたモデル 現在では解析的なモデルでは最も現実に近いとされている

Slide 18

Slide 18 text

GGX Model (Walter Model) 法線分布関数は以下で表され、GGX法線分布関数と呼ばれる。 楕円体の法線分布に等しい 𝐷 𝜔𝑚 = 1 𝜋 𝛼2 cos4 𝜃𝑚 1 + tan2 𝜃𝑚 2

Slide 19

Slide 19 text

GGX Model (Walter Model) シャドウィングマスキング関数の導出にはSmith Modelが使われている 「各Microfacetの高さと傾きに相関がない」

Slide 20

Slide 20 text

GGX Model (Walter Model) シャドウィングマスキング関数はΛ関数によって表現される

Slide 21

Slide 21 text

Microface BSDFの 問題点

Slide 22

Slide 22 text

Multiple-Scattering Microfacetに入射した光は何度も反射して外に出ていく光が存在する 何度も反射することを多重散乱 Multiple-Scatteringという 対称的に1度の反射で出ていくことは単一?散乱 Single-Scatteringと呼ぶ

Slide 23

Slide 23 text

Microfacet BSDFの問題点 実はSingle-Scatteringのみを考えた式 Multiple-Scatteringの光は全て消えていると仮定している

Slide 24

Slide 24 text

Microfacet BSDFの問題点 非常に粗い物質では、多重散乱光は反射光の20~40%ぐらいを占める

Slide 25

Slide 25 text

Microfacet BSDFの問題点 非常に粗い物質では、多重散乱光は反射光の20~40%ぐらいを占める Roughnessが1に近いマテリアルが現実よりかなり黒くなる 特にガラスのようなものだと実用的にも問題になるほど

Slide 26

Slide 26 text

Multiple-Scatteringの難しさ やはり解析的に求めるのは難しい いくつか試みはあるが近似的手法 Oren-Nayer Model

Slide 27

Slide 27 text

Volume Rendering

Slide 28

Slide 28 text

Volume Rendering 霧や雲など(Volume)における3次元的な散乱現象を再現する手法

Slide 29

Slide 29 text

Volume Rendering Equation Volume Renderingは「吸収」、「散乱」、「発光」の3つの要素からなる ∇ ⋅ 𝜔 L x, 𝜔 = −𝜇𝑎 𝑥 𝐿 𝑥, 𝜔 −𝜇𝑠 (𝑥)𝐿(𝑥, 𝜔) + 𝜇𝑠 න 𝑠2 𝑓𝑝 𝜔′, 𝜔 𝐿 𝑥, 𝜔′ 𝑑𝜔′ + 𝑄(𝜔) 𝜇𝑎 𝑥 : 吸収係数 𝜇𝑠 𝑥 : 散乱係数 𝑓𝑝 𝜔′, 𝜔 : 位相関数

Slide 30

Slide 30 text

Volume Rendering Equation Volume Renderingは「吸収」、「散乱」、「発光」の3つの要素からなる ∇ ⋅ 𝜔 L x, 𝜔 = −𝜇𝑎 𝑥 𝐿 𝑥, 𝜔 −𝜇𝑠 (𝑥)𝐿(𝑥, 𝜔) + 𝜇𝑠 න 𝑠2 𝑓𝑝 𝜔′, 𝜔 𝐿 𝑥, 𝜔′ 𝑑𝜔′ + 𝑄(𝜔) 𝜇𝑎 𝑥 : 吸収係数 𝜇𝑠 𝑥 : 散乱係数 𝑓𝑝 𝜔′, 𝜔 : 位相関数 吸収 𝜔

Slide 31

Slide 31 text

Volume Rendering Equation Volume Renderingは「吸収」、「散乱」、「発光」の3つの要素からなる −𝜇𝑠 (𝑥)𝐿(𝑥, 𝜔) + 𝜇𝑠 න 𝑠2 𝑓𝑝 𝜔′, 𝜔 𝐿 𝑥, 𝜔′ 𝑑𝜔′ + 𝑄(𝜔) 𝜇𝑎 𝑥 : 吸収係数 𝜇𝑠 𝑥 : 散乱係数 𝑓𝑝 𝜔′, 𝜔 : 位相関数 ∇ ⋅ 𝜔 L x, 𝜔 = −𝜇𝑎 𝑥 𝐿 𝑥, 𝜔 入射光の 散乱 𝜔

Slide 32

Slide 32 text

Volume Rendering Equation Volume Renderingは「吸収」、「散乱」、「発光」の3つの要素からなる 𝜇𝑎 𝑥 : 吸収係数 𝜇𝑠 𝑥 : 散乱係数 𝑓𝑝 𝜔′, 𝜔 : 位相関数 ∇ ⋅ 𝜔 L x, 𝜔 = −𝜇𝑎 𝑥 𝐿 𝑥, 𝜔 その他方向からのの散乱 −𝜇𝑠 (𝑥)𝐿(𝑥, 𝜔) + 𝜇𝑠 න 𝑠2 𝑓𝑝 𝜔′, 𝜔 𝐿 𝑥, 𝜔′ 𝑑𝜔′ + 𝑄(𝜔) 𝜔 𝜔′

Slide 33

Slide 33 text

Volume Rendering Equation Volume Renderingは「吸収」、「散乱」、「発光」の3つの要素からなる 𝜇𝑎 𝑥 : 吸収係数 𝜇𝑠 𝑥 : 散乱係数 𝑓𝑝 𝜔′, 𝜔 : 位相関数 ∇ ⋅ 𝜔 L x, 𝜔 = −𝜇𝑎 𝑥 𝐿 𝑥, 𝜔 発光 𝜔 −𝜇𝑠 (𝑥)𝐿(𝑥, 𝜔) + 𝜇𝑠 න 𝑠2 𝑓𝑝 𝜔′, 𝜔 𝐿 𝑥, 𝜔′ 𝑑𝜔′ + 𝑄(𝜔)

Slide 34

Slide 34 text

Volume Rendering Equation 輝度の減少部分をまとめて、消散係数(Attenuation coefficient)と書く場合もある ∇ ⋅ 𝜔 L x, 𝜔 = − 𝜇𝑎 𝑥 + 𝜇𝑠 𝑥 𝐿 𝑥, 𝜔 + 𝜇𝑠 න 𝑠2 𝑓𝑝 𝜔′, 𝜔 𝐿 𝑥, 𝜔′ 𝑑𝜔′ + 𝑄(𝜔

Slide 35

Slide 35 text

Volume Rendering Equation 輝度の減少部分をまとめて、消散係数(Attenuation coefficient)と書く場合もある ∇ ⋅ 𝜔 L x, 𝜔 = −𝜇𝑡 𝑥 𝐿 𝑥, 𝜔 + 𝜇𝑠 න 𝑠2 𝑓𝑝 𝜔′, 𝜔 𝐿 𝑥, 𝜔′ 𝑑𝜔′ + 𝑄(𝜔) 𝜇𝑡 𝑥 : 消散係数 𝜇𝑠 𝑥 : 散乱係数 𝑓𝑝 𝜔′, 𝜔 : 位相関数

Slide 36

Slide 36 text

位相関数 Phase Function 𝜔′から入射してきた光が𝜔方向へと反射する割合を示す関数 VolumeにおけるBSDF的な立ち位置 正規化されている න 𝑠2 𝑓𝑝 𝜔′, 𝜔 𝑑𝜔′ = 1 𝑓𝑝 𝜔′, 𝜔 𝜔′

Slide 37

Slide 37 text

Volume Renderingと多重散乱 Volume Renderingは多重散乱を表現できる 実装でもVolume内を何度も曲げながら計算していく (Free-Path Sampling)

Slide 38

Slide 38 text

Volumeの色々な使い道 Volumeは霧のような気体的なものだけを指すわけではない 毛皮や髪の毛といった固体的なものをVolume Renderingで表現する方法もある 適切に係数、関数を設定してあげれば、どんな散乱もVolumetric Renderingで表現できる

Slide 39

Slide 39 text

Microflake理論

Slide 40

Slide 40 text

Multiple-Scatteringのアイディア Volume Renderingは多重散乱を表現可能 適切に係数を設定してあげれば、Volumetric Renderingで表現できる

Slide 41

Slide 41 text

Multiple-Scatteringのアイディア Microfacetにおける多重散乱をVolume Renderingで表現する Volume Renderingは多重散乱を表現可能 適切に係数を設定してあげれば、Volumetric Renderingで表現できる Microfacet Volume

Slide 42

Slide 42 text

[Heitz et al. 2016]の手法 Multiple-Scattering Microfacet BSDFs with the Smith Model Microfacetにおける多重散乱を Volume Rendering的に計算する手法 Volumeの各係数は Microflake理論に 基づいて設定している

Slide 43

Slide 43 text

Microflake理論 [Jakob et al. 2010] A radiative transfer framework for rendering materials with anisotropic structure

Slide 44

Slide 44 text

Microflake理論 [Jakob et al. 2010] A radiative transfer framework for rendering materials with anisotropic structure FurなどのVolume Renderingを物理ベースで論議することを目的とした論文

Slide 45

Slide 45 text

Microflake理論 「Volumeの散乱はVolume内の微小な粒子(Microflake)の散乱によって生じる」 いわば3次元のMicrofacet理論 Microflake Volume

Slide 46

Slide 46 text

Microflake理論 Microflakeは発光しないので、MicroflakeによるVolume Equationは ∇ ⋅ 𝜔 L x, 𝜔 = −𝜇𝑡 𝑥 𝐿 𝑥, 𝜔 + 𝜇𝑠 (𝑥) න 𝑠2 𝑓𝑝 𝜔′, 𝜔 𝐿 𝑥, 𝜔′ 𝑑𝜔′

Slide 47

Slide 47 text

Microflake理論 Microflakeは発光しないので、MicroflakeによるVolume Equationは ∇ ⋅ 𝜔 L x, 𝜔 = −𝜇𝑡 𝑥 𝐿 𝑥, 𝜔 + 𝜇𝑠 (𝑥) න 𝑠2 𝑓𝑝 𝜔′, 𝜔 𝐿 𝑥, 𝜔′ 𝑑𝜔′ これらを物理的ベースで求めていく

Slide 48

Slide 48 text

消散係数𝜇𝑡 の導出 Microflakeによってどれだけ光が減少するかを見ていく 単なる遮蔽を計算すればよい 𝜔 𝐿(𝜔) 𝐿′(𝜔) − 𝐼𝑎𝑡𝑡𝑒𝑛 𝐴 𝑑𝑠 底面積𝐴, 微小な長さ𝑑𝑠の円柱を通った時の 輝度の減少量𝐼𝑎𝑡𝑡𝑒𝑛 を考える 単位体積当たりの減少量が消散係数の項に 相当する 𝜇𝑡 𝑥 𝐿 𝑥, 𝜔 = 𝐼𝑎𝑡𝑡𝑒𝑛 𝐴 𝑑𝑠

Slide 49

Slide 49 text

消散係数𝜇𝑡 の導出 円柱内にはいくつものMicroflakeが含まれる Miroflakeの密度を𝜌と定義する 𝜔 𝐿(𝜔) 𝐿′(𝜔) − 𝐼𝑎𝑡𝑡𝑒𝑛 𝐴 𝑑𝑠 円柱内に含まれるMicroflakeの数 𝜌 𝐴 𝑑𝑠

Slide 50

Slide 50 text

消散係数𝜇𝑡 の導出 法線𝜔𝑚 を持つMicroflakeの遮蔽を考える Microflakeにおける法線分布を𝐷(𝜔𝑚 )と定義 𝜔 𝐿(𝜔) 𝐿′(𝜔) − 𝐼𝑎𝑡𝑡𝑒𝑛 𝐴 𝑑𝑠 円柱内に含まれる法線𝜔𝑚 のMicroflakeの数 𝜌 𝐴 𝑑𝑠 𝐷(𝜔𝑚 ) 𝜔𝑚 𝜔𝑚 𝜔𝑚 𝜔𝑚

Slide 51

Slide 51 text

消散係数𝜇𝑡 の導出 𝜔𝑚 のMicroflake1つ当たりの投影面積を 𝜎𝑚𝑖𝑐𝑟𝑜 (𝜔, 𝜔𝑚 )と定義する 𝜔 𝐿(𝜔) 𝐿′(𝜔) − 𝐼𝑎𝑡𝑡𝑒𝑛 𝐴 𝑑𝑠 𝜔𝑚 𝜔𝑚 𝜔𝑚 𝜔𝑚 法線𝜔𝑚 のMicroflakeによる遮蔽面積 法線𝜔𝑚 のMicroflakeによる輝度減少量 𝜌 𝐴 𝑑𝑠 𝐷 𝜔𝑚 𝜎(𝜔, 𝜔𝑚 ) 𝑑𝐼𝑎𝑡𝑡𝑒𝑛 𝑑𝜔𝑚 = 𝜌 𝐴 𝑑𝑠 𝐷 𝜔𝑚 𝜎 𝜔, 𝜔𝑚 𝐿(𝜔) 𝜎𝑚𝑖𝑐𝑟𝑜 (𝜔, 𝜔𝑚 )

Slide 52

Slide 52 text

消散係数𝜇𝑡 の導出 各法線のMicroflakeによる遮蔽を集めれば 求められる 𝐴 𝐼𝑎𝑡𝑡𝑒𝑛 = ׬ 𝑠2 𝜌 𝐴 𝑑𝑠 𝐷 𝜔𝑚 𝜎 𝜔, 𝜔𝑚 𝐿 𝜔 𝑑𝜔𝑚 = 𝜌 𝐴 𝑑𝑠 ׬ 𝑠2 𝐷 𝜔𝑚 𝜎 𝜔, 𝜔𝑚 𝑑𝜔𝑚 × 𝐿 𝜔 単位体積当たりの減少量は円柱の体積で割れば出てくるので 𝐼𝑎𝑡𝑡𝑒𝑛 𝐴 𝑑𝑠 = 𝜌 න 𝑠2 𝐷 𝜔𝑚 𝜎 𝜔, 𝜔𝑚 𝑑𝜔𝑚 × 𝐿 𝜔

Slide 53

Slide 53 text

消散係数の導出 各法線のMicroflakeによる遮蔽を集めれば 求められる 𝐴 𝐼𝑎𝑡𝑡𝑒𝑛 = ׬ 𝑠2 𝜌 𝐴 𝑑𝑠 𝐷 𝜔𝑚 𝜎 𝜔, 𝜔𝑚 𝐿 𝜔 𝑑𝜔𝑚 = 𝜌 𝐴 𝑑𝑠 ׬ 𝑠2 𝐷 𝜔𝑚 𝜎 𝜔, 𝜔𝑚 𝑑𝜔𝑚 × 𝐿 𝜔 単位体積当たりの減少量は円柱の体積で割れば出てくるので 𝐼𝑎𝑡𝑡𝑒𝑛 𝐴 𝑑𝑠 = 𝜌 න 𝑠2 𝐷 𝜔𝑚 𝜎 𝜔, 𝜔𝑚 𝑑𝜔𝑚 × 𝐿 𝜔 消散係数 𝜇𝑡

Slide 54

Slide 54 text

散乱係数𝜇𝑠 と位相関数𝑓𝑝 Microflakeの反射による𝜔方向の光の増加量を調べる 消散係数と同様の円柱を考えて、 散乱による輝度の増加量を𝐼𝑖𝑛𝑠𝑐𝑎𝑡 と定義する 𝜔′ + 𝐼𝑎𝑡𝑡𝑒𝑛 𝐴 𝑑𝑠 𝐿(𝜔′)

Slide 55

Slide 55 text

散乱係数𝜇𝑠 と位相関数𝑓𝑝 法線𝜔𝑚 のMicroflakeによる散乱を考える。 Microflakeの散乱におけるミクロな位相関数を 𝑓𝑚𝑖𝑐𝑟𝑜 𝜔𝑚 , 𝜔′ → 𝜔 と定義する 𝜔′ 𝜔 𝐿(𝜔′) Microflake1つによって増加する輝度は Microflake 𝑓𝑚𝑖𝑐𝑟𝑜 𝜔𝑚 , 𝜔′ → 𝜔 න 𝑠2 𝑓𝑚𝑖𝑐𝑟𝑜 𝜔𝑚 , 𝜔′ → 𝜔 𝜎 𝜔𝑚 , 𝜔 𝐿 𝜔′ 𝑑𝜔′ 𝜔𝑚 を向くMicroflakeは𝜌 𝐴 𝑑𝑠 𝐷(𝜔𝑚 )個存在するので 𝑑 𝐼𝑖𝑛𝑠𝑐𝑎𝑡 𝑑𝜔𝑚 = 𝜌 𝐴 𝑑𝑠 𝐷(𝜔𝑚 ) න 𝑠2 𝑓𝑚𝑖𝑐𝑟𝑜 𝜔𝑚 , 𝜔′ → 𝜔 𝐿 𝜔′ 𝑑𝜔′

Slide 56

Slide 56 text

散乱係数𝜇𝑠 と位相関数𝑓𝑝 Microflake全体による輝度増加量は 𝐼𝑖𝑛𝑠𝑐𝑎𝑡 = 𝐴 𝑑𝑠 න 𝑠2 න 𝑠2 𝜌 𝐷(𝜔𝑚 ) 𝑓𝑚𝑖𝑐𝑟𝑜 𝜔𝑚 , 𝜔′ → 𝜔 𝜎 𝜔𝑚 , 𝜔 𝐿 𝜔′ 𝑑𝜔′𝑑𝜔𝑚 𝐼𝑖𝑛𝑠𝑐𝑎𝑡 𝐴 𝑑𝑠 = න 𝑠2 න 𝑠2 𝜌 𝐷(𝜔𝑚 ) 𝑓𝑚𝑖𝑐𝑟𝑜 𝜔𝑚 , 𝜔′ → 𝜔 𝜎 𝜔𝑚 , 𝜔 𝐿 𝜔′ 𝑑𝜔′𝑑𝜔𝑚 単位体積当たりの輝度増加量は

Slide 57

Slide 57 text

散乱係数𝜇𝑠 と位相関数𝑓𝑝 න 𝑠2 න 𝑠2 𝜌 𝐷(𝜔𝑚 ) 𝑓𝑚𝑖𝑐𝑟𝑜 𝜔𝑚 , 𝜔′ → 𝜔 𝜎 𝜔𝑚 , 𝜔 𝑑𝜔𝑚 𝐿 𝜔′ 𝑑𝜔′ 散乱係数の項に相当する量 න 𝑠2 𝜇𝑠 𝑓𝑝 𝜔, 𝜔′ → 𝜔 𝐿 𝜔′ 𝑑𝜔′

Slide 58

Slide 58 text

散乱係数𝜇𝑠 と位相関数𝑓𝑝 位相関数は全球積分すると1になるので、散乱係数は න 𝑠2 𝜇𝑠 𝑓𝑝 𝜔, 𝜔′ → 𝜔 𝑑𝜔′ = න 𝑠2 න 𝑠2 𝜌 𝐷(𝜔𝑚 ) 𝑓𝑚𝑖𝑐𝑟𝑜 𝜔𝑚 , 𝜔′ → 𝜔 𝜎 𝜔𝑚 , 𝜔 𝑑𝜔𝑚 𝑑𝜔′ 𝜇𝑠 = 𝜌 න 𝑠2 𝐷 𝜔𝑚 𝜎 𝜔𝑚 , 𝜔 න 𝑠2 𝑓𝑚𝑖𝑐𝑟𝑜 𝜔𝑚 , 𝜔′ → 𝜔 𝑑𝜔′ 𝑑𝜔𝑚 𝜇𝑠 = 𝜌 න 𝑠2 𝐷 𝜔𝑚 𝜎 𝜔𝑚 , 𝜔 𝑑𝜔𝑚

Slide 59

Slide 59 text

散乱係数𝜇𝑠 と位相関数𝑓𝑝 位相関数 𝑓𝑝 𝜔, 𝜔′ → 𝜔 = 1 𝜇𝑠 න 𝑠2 𝜌 𝐷(𝜔𝑚 ) 𝑓𝑚𝑖𝑐𝑟𝑜 𝜔𝑚 , 𝜔′ → 𝜔 𝜎 𝜔𝑚 , 𝜔 𝑑𝜔𝑚

Slide 60

Slide 60 text

MicroflakeのVolume 位相関数 𝑓𝑝 𝜔, 𝜔′ → 𝜔 = 1 𝜇𝑠 න 𝑠2 𝜌 𝐷(𝜔𝑚 ) 𝑓𝑚𝑖𝑐𝑟𝑜 𝜔𝑚 , 𝜔′ → 𝜔 𝜎 𝜔𝑚 , 𝜔 𝑑𝜔𝑚 𝜇𝑠 = 𝜌 න 𝑠2 𝐷 𝜔𝑚 𝜎 𝜔𝑚 , 𝜔 𝑑𝜔𝑚 散乱係数 𝜇𝑡 = 𝜌 න 𝑠2 𝐷 𝜔𝑚 𝜎 𝜔, 𝜔𝑚 𝑑𝜔𝑚 消散係数

Slide 61

Slide 61 text

MicroflakeのVolume 位相関数 𝑓𝑝 𝜔, 𝜔′ → 𝜔 = 1 𝜇𝑠 න 𝑠2 𝜌 𝐷(𝜔𝑚 ) 𝑓𝑚𝑖𝑐𝑟𝑜 𝜔𝑚 , 𝜔′ → 𝜔 𝜎 𝜔𝑚 , 𝜔 𝑑𝜔𝑚 𝜇𝑠 = 𝜌 න 𝑠2 𝐷 𝜔𝑚 𝜎 𝜔𝑚 , 𝜔 𝑑𝜔𝑚 散乱係数 𝜇𝑡 = 𝜌 න 𝑠2 𝐷 𝜔𝑚 𝜎 𝜔, 𝜔𝑚 𝑑𝜔𝑚 消散係数 • Microflake全部同じ面積𝑎を 持ってるとして仮定 𝜎 𝜔, 𝜔𝑚 = 𝑎 |𝜔𝑚 ⋅ 𝑛|

Slide 62

Slide 62 text

MicroflakeのVolume 位相関数 𝑓𝑝 𝜔, 𝜔′ → 𝜔 = 1 𝜇𝑠 න 𝑠2 𝜌 𝐷 𝜔𝑚 𝑓𝑚𝑖𝑐𝑟𝑜 𝜔𝑚 , 𝜔′ → 𝜔 𝑎|𝜔𝑚 ⋅ 𝜔|𝑑𝜔𝑚 𝜇𝑠 = 𝜌 න 𝑠2 𝐷 𝜔𝑚 𝑎|𝜔𝑚 ⋅ 𝜔| 𝑑𝜔𝑚 散乱係数 𝜇𝑡 = 𝜌 න 𝑠2 𝐷 𝜔𝑚 𝑎|𝜔𝑚 ⋅ 𝜔|𝑑𝜔𝑚 消散係数 • Microflake全部同じ面積𝑎を 持ってるとして仮定 𝜎 𝜔, 𝜔𝑚 = 𝑎 |𝜔𝑚 ⋅ 𝜔|

Slide 63

Slide 63 text

MicroflakeのVolume 位相関数 𝑓𝑝 𝜔, 𝜔′ → 𝜔 = 1 𝜇𝑠 න 𝑠2 (𝜌𝑎) 𝐷 𝜔𝑚 𝑓𝑚𝑖𝑐𝑟𝑜 𝜔𝑚 , 𝜔′ → 𝜔 |𝜔𝑚 ⋅ 𝜔|𝑑𝜔𝑚 𝜇𝑠 = (𝜌𝑎) න 𝑠2 𝐷 𝜔𝑚 |𝜔𝑚 ⋅ 𝜔| 𝑑𝜔𝑚 散乱係数 𝜇𝑡 = (𝜌𝑎) න 𝑠2 𝐷 𝜔𝑚 |𝜔𝑚 ⋅ 𝜔|𝑑𝜔𝑚 消散係数 • Microflake全部同じ面積𝑎を 持ってるとして仮定 𝜎 𝜔, 𝜔𝑚 = 𝑎 |𝜔𝑚 ⋅ 𝑛| • 𝜌𝑎を新たに密度𝜌とする

Slide 64

Slide 64 text

MicroflakeのVolume 位相関数 𝑓𝑝 𝜔, 𝜔′ → 𝜔 = 1 𝜇𝑠 න 𝑠2 𝜌 𝐷 𝜔𝑚 𝑓𝑚𝑖𝑐𝑟𝑜 𝜔𝑚 , 𝜔′ → 𝜔 |𝜔𝑚 ⋅ 𝜔|𝑑𝜔𝑚 𝜇𝑠 = 𝜌 න 𝑠2 𝐷 𝜔𝑚 |𝜔𝑚 ⋅ 𝜔| 𝑑𝜔𝑚 散乱係数 𝜇𝑡 = 𝜌 න 𝑠2 𝐷 𝜔𝑚 |𝜔𝑚 ⋅ 𝜔|𝑑𝜔𝑚 消散係数 • Microflake全部同じ面積𝑎を 持ってるとして仮定 𝜎 𝜔, 𝜔𝑚 = 𝑎 |𝜔𝑚 ⋅ 𝜔| • 𝜌𝑎を新たに密度𝜌とする

Slide 65

Slide 65 text

MicroflakeのVolume 位相関数 𝑓𝑝 𝜔, 𝜔′ → 𝜔 = 1 𝜇𝑠 න 𝑠2 𝜌 𝐷 𝜔𝑚 𝑓𝑚𝑖𝑐𝑟𝑜 𝜔𝑚 , 𝜔′ → 𝜔 |𝜔𝑚 ⋅ 𝑛|𝑑𝜔𝑚 𝜇𝑠 = 𝜌 න 𝑠2 𝐷 𝜔𝑚 |𝜔𝑚 ⋅ 𝜔| 𝑑𝜔𝑚 散乱係数 𝜇𝑡 = 𝜌 න 𝑠2 𝐷 𝜔𝑚 |𝜔𝑚 ⋅ 𝜔|𝑑𝜔𝑚 消散係数 • Microflake全体の投影面積を表す式 𝜎 𝜔 と定義

Slide 66

Slide 66 text

MicroflakeのVolume 位相関数 𝑓𝑝 𝜔, 𝜔′ → 𝜔 = 1 𝜇𝑠 න 𝑠2 𝜌 𝐷 𝜔𝑚 𝑓𝑚𝑖𝑐𝑟𝑜 𝜔𝑚 , 𝜔′ → 𝜔 |𝜔𝑚 ⋅ 𝑛|𝑑𝜔𝑚 𝜇𝑠 = 𝜌𝜎 𝜔 散乱係数 𝜇𝑡 = 𝜌𝜎 𝜔 消散係数 • 現在はこの形式で書かれることが多い

Slide 67

Slide 67 text

Microflakeとして扱うには何が必要? 密度𝜌 法線分布関数𝐷(𝜔𝑚 ) ミクロ位相関数(正規化されたBSDF) 𝑓𝑚𝑖𝑐𝑟𝑜 (𝜔𝑚 , 𝜔′ → 𝜔)

Slide 68

Slide 68 text

Microflakeとして扱うには何が必要? 密度𝜌 法線分布関数𝐷(𝜔𝑚 ) ミクロ位相関数(正規化されたBSDF) 𝑓𝑚𝑖𝑐𝑟𝑜 (𝜔𝑚 , 𝜔′ → 𝜔) この3つを適切に定義してあげればMicroflakeのVolumeとして表現することが出来る。

Slide 69

Slide 69 text

Volume表現の GGX

Slide 70

Slide 70 text

Volume表現のGGX Microfacetは一種のMicroflakeとしてそのまま見なすこ とが出来る ここではGGX ModelをMicroflake Volumeにしたもの をVolume GGXと呼称する 法線分布はそのままGGXを使って問題ない Microfacet Microflake

Slide 71

Slide 71 text

Volume GGXにおける密度 Microfacetの存在分布は高さの分布𝑃1 (ℎ)で表すことが多い 高さ分布から密度を定義する

Slide 72

Slide 72 text

Volume GGXにおける密度 Volume GGXの高さおける密度は高さ分布𝑃1 (ℎ)によって以下の様に定義される 𝐶1 ℎ = න −∞ ℎ 𝑃1 ℎ′ 𝑑ℎ′ 𝑃1 (ℎ)の累積分布関数

Slide 73

Slide 73 text

Volume GGXにおける投影面積 MicrofacetではレイがMicrofacetの下に行くことはない なので裏側から見た時の投影面積を計算しない

Slide 74

Slide 74 text

Volume GGXにおける投影面積 この式はシャドウィングマスキング関数の導出で既に計算されいている Λ関数によって以下のように表現される

Slide 75

Slide 75 text

消散係数 Microflakeの消散係数の定義より以下の様に求めることが出来る

Slide 76

Slide 76 text

Volume GGXの位相関数 位相関数は以下の様に定義することが出来る。 可視法線分布

Slide 77

Slide 77 text

Volume GGXの位相関数 金属では以下の様に求めることができる とりあえずMicroflakeのVolumeに必要なパラメーターを導出することができた

Slide 78

Slide 78 text

Microflake VolumeのFree Path MicroflakeにおけるVolumeは仮想的に[−∞, ∞]の無限大のVolumeで考える 無限遠に飛んで行った時、光はMicrofacetから脱出したとみなす

Slide 79

Slide 79 text

Microflake VolumeのFree Path MicroflakeにおけるVolumeは仮想的に[−∞, ∞]の無限大のVolumeで考える 無限遠に飛んで行った時、光はMicrofacetから脱出したとみなす 高さℎ𝑟 から𝜔𝑟 方向に放ったレイの次の衝突点 ℎ𝑟+1 のサンプリング ℎ𝑟 ℎ𝑟+1 𝜔𝑟

Slide 80

Slide 80 text

Microflake VolumeのFree Path MicroflakeにおけるVolumeは仮想的に[−∞, ∞]の無限大のVolumeで考える 無限遠に飛んで行った時、光はMicrofacetから脱出したとみなす 脱出条件 ℎ𝑟 ℎ𝑟+1 脱出!

Slide 81

Slide 81 text

Mutiple-Scattering Free Path 衝突点の高さℎ𝑟 をサンプリング

Slide 82

Slide 82 text

Mutiple-Scattering Free Path 衝突点の高さℎ𝑟 をサンプリング 次の方向𝜔𝑟 をサンプリング ウェイト計算

Slide 83

Slide 83 text

Mutiple-Scattering Free Path 衝突点の高さℎ𝑟 をサンプリング 次の方向𝜔𝑟 をサンプリング ウェイト計算 これを脱出するまで繰り返す

Slide 84

Slide 84 text

余談 [Heitz 2016]だと高さ分布を自分で決めなきゃいけない Position-free Multiple-bounce Computations for Smith Microfacet BSDFs 高さ分布を考えずにMulti-Scatteringを行う手法 レイトレ合宿8の水鳥さんのスライドに詳しい説明がある

Slide 85

Slide 85 text

Volume表現の良いところ Multi-Scatteringを実行できること 理論的にも取り扱いやすいことがある シャドウィングマスキング関数が透過率として表現できたりする

Slide 86

Slide 86 text

Volume表現の良いところ Multi-Scatteringを実行できること 理論的にも取り扱いやすいことがある シャドウィングマスキング関数が透過率として表現できたりする 既存のMicrofacet理論で扱いにくかった形状に対しても議論できる

Slide 87

Slide 87 text

Microfacet theory for non-uniform heightfields 非対称な高さ分布を持ったMicrofacet を取り扱えるようにした論文 より現実に近い傷や凹凸を再現できる Volume表現を用いて議論している

Slide 88

Slide 88 text

Microfacet theory for non-uniform heightfields

Slide 89

Slide 89 text

ご清聴ありがとうございました

Slide 90

Slide 90 text

参考、引用資料 [Heitz et al. 2016] Multiple-Scattering Microfacet BSDFs with the Smith Model [Jakob et al. 2010] A radiative transfer framework for rendering materials with anisotropic structure [Heitz et al. 2015] The SGGX Microflake Distribution

Slide 91

Slide 91 text

参考、引用資料 [Dupuy et al. 2016] Additional Progress Towards the Unification of Microfacet and Microflake Theories [Wang et al. 2022] Position-free Multiple-bounce Computations for Smith Microfacet BSDFs [d’Eon et al. 2023] Microfacet theory for non-uniform heightfields