なお、正規分布はガウス分布(Gaussian …...なお、正規分布はガウス分布(Gaussian distribution)と呼ばれるときも あります。また、ポアソン、ワイブル、
SGGXマイクロフレーク分布
-
Upload
takashi-imagire -
Category
Technology
-
view
1.490 -
download
3
Transcript of SGGXマイクロフレーク分布
The SGGX Microflake Distribution
株式会社セガゲームス今給黎 隆
アジェンダ• モチベーション• マイクロファセット物理ベースレンダリ
ング• マイクロフレーク理論• SGGX• この後のお仕事
The SGGX Microflake Distribution
• SIGGRAPH 2015– Eric Heitz (Karlsruhe Institute of Technology, NVIDIA)– Jonathan Dupuy (Univ. Montr´eal; LIRIS, Univ. Lyon 1)– Cyril Crassin (NVIDIA)– Carsten Dachsbacher (Karlsruhe Institute of
Technology)• 論文の日本語訳– https://github.com/imagire/SGGX_jp
モチベーション• ボリュームデータの物理ベースレンダリング– 3 角形ポリゴンの集合では表しにくいデータの増
大• 木• 服• もくもく
– データ量が増大しやすい
• まだまだ高い要求– 高速– 省メモリ
ボリュームデータ• 同じ程度のデータ数でも非常に小さな分
解能– Full HD: 1980x1080=2,073,600– ボリュームデータ: 128x128x128=2,097,152
マイクロファセット理論を用いた物理ベースレンダリング
• 最近のレンダリングのはやり– 物体の見た目 = 拡散反射 + 鏡面反射 ( で近
似 )– 物理量の保存則を満たす
入射光 鏡面反射光拡散反射光
物理量の保存則• 出射光は入射光よりも暗い ( エネルギー保
存 )
• 光の向きを変えても同じ現象が起きる ( 相反性 )
マイクロファセット理論• プラスチックと金属の違いは何?
マイクロファセット理論• 金属反射は微細な構造の粗視化ととらえる– 特に鏡面反射についてとり扱う
• 考慮する効果– 法線分布– マスキング– シャドウイング– フレネル反射
シャドウイング マスキング
GGX
)()(,)()( oiiiooipo QdLfL )()(,)()( iiiiooipo QdLfL )()()1()( oi
specpoi
diffpoip fmfmf
)(
)( oioi
diffpf
oioi
specp nn
GDFf
,,4)(
500 ,1)1( hFFF o
222
2
11,
hnD
)()( 0 iGGXGGX GGG 222 ,1,
,2)(
nn
nGGGX
)),(,0max(,
: Schlick 近似のフレネル (h: ハーフベクトル , F0: 正面反射率 )
:法線分布関数 (α :粗さ )
拡散反射:
鏡面反射:
こんな近似項を使うのが GGX
この形だけではない。マイクロファセットの形状が楕円らしい?
(m :金属度合い )
GGX
)()(,)()( oiiiooipo QdLfL )()(,)()( iiiiooipo QdLfL )()()1()( oi
specpoi
diffpoip fmfmf
)(
)( oioi
diffpf
oioi
specp nn
GDFf
,,4)(
500 ,1)1( hFFF o
222
2
11,
hnD
)()( 0 iGGXGGX GGG 222 ,1,
,2)(
nn
nGGGX
)),(,0max(,
: Schlick 近似のフレネル (h: ハーフベクトル , F0: 正面反射率 )
:法線分布関数 (α :粗さ )
拡散反射:
鏡面反射:
(m :金属度合い )計算が比較的簡単で
見た目がけっこうカッコイイ!
こんな近似項を使うのが GGX
この形だけではない。マイクロファセットの形状が楕円らしい?
3次元では ?
• 放射伝達方程式
マイクロフレーク理論• ボリュームを細かな粒子 ( マイクロフレーク ) の
集合と仮定– マイクロフレークに対する光の吸収と散乱はシンプ
ルなモデル– マイクロフレークの物体の質感が変わる
• マイクロフレークの光学特性• マイクロフレークの形状• マイクロフレークの配列の仕方
マイクロフレークでの物理量計算
• 単一のマテリアルの場合– 減衰係数– 散乱係数
• ρ :ボリュームの密度• α :方向に依存しないアルベド• σ :マイクロフレークの投影面積
D: 法線の統計的な分布
マイクロフレーク位相関数• 角度に関する光の散乱度合い
• マイクロフレーク制約– 光は強くならない
– 相反性
鏡面反射 拡散反射
マイクロフレークと法線• マイクロフレークが楕円体の場合の法線
円盤的
繊維的
おまけ: GXX と SGGX の違い
(半球ではなく対称)
従来法• 法線の分布を求めて、そこから各種物理
量を計算– 法線の分布は
足し算できない(結果が正確ではない)
– 合成が高速にはできなかった
キーアイデア• 大切なのは法線分布ではなく投影面積– 投影面積が固有値と関連した
正値対称行列を導入 (SGGX 行列 )
– 固有値、固有ベクトルを線形補間して新しく生み出す SGGX 行列はやはり正値対称行列なのでSGGX として有効( このようにすれば線形補間できる !)
導出される法線分布:
SGGX 行列の構築• 法線分布を入力としてパラメータを推定– 楕円対称性から共分散行列の固有ベクトルは基の行列 (SGGX 行列 ) の固有ベクトルと等しい
– 投影面積の定義から固有値を構築• メモリ使用量– 6 つのパラメータで格納可能 (6B/voxel)
]1,1[
]1,0[
r
パラメータ推定性能
位相関数• 位相関数
• インポータンスサンプリング– 入射方向に垂直にランダムに点をとり、 SGGX 行
列を通した法線分布で確率的に法線を選択–得られた法線の反射方向、法線周りの拡散方向
を計算し、位相関数を求めて確率的に光路の寄与を加える
LOD• 低解像度でもそれなりの見た目– 密度とアルベド、 SGGX をダウンサンプリン
グ–多重散乱の効果が入らないので見た目は変化
これからの作業• インポータンスサンプリングのコード持って
ない…– レイトレ合宿 ?
• 実際に計算して、泥臭い部分をあぶりだす• リアルタイムに結びつく何かがあると嬉しい
な
まとめ• SGGX– 投影面積を固有値とする楕円体としてボリュー
ムデータを表現– 高速で小メモリ (6B/voxel)–階層的詳細度 (LOD) 表現に対応