球面ガウス関数を極める-動的間接照明の高速近似-

株式会社スクウェア・エニックス
德吉 雄介

本講演の目的• 照明の計算を高速に近似するための• 球面ガウス関数という便利な道具のご紹介
対象者：
既にレンダリングの基礎知識を持っていてさらに高速な近似法について知りたい人© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

本日の流れ• 球面ガウス関数について説明– 球面ガウス関数の基礎– レンダリングへの応用• 動的間接照明（弊社の発表論文を解説）• 論文の技術を単純化した実装の紹介© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

解説する論文• “Virtual Spherical Gaussian Lights for Real-time
Glossy Indirect Illumination” [Tokuyoshi15]– 完全に動的な間接照明– Pacific Graphics 2015で発表予定– 後日Webで公開予定• http://jp.square-enix.com/info/library/© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

Video

論文の実装単純化した実装© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

1 球面ガウス関数の基礎
2 レンダリングへの応用
3 動的間接照明
4 単純化した実装のご紹介
5 まとめ

球面ガウス関数の基礎© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

ガウス関数
𝑔𝑔 𝐱𝐱 − 𝛍𝛍

, 𝜎𝜎 2𝐱𝐱 − 𝛍𝛍 2= exp −
2𝜎𝜎 2𝜎𝜎

平均𝛍𝛍、分散𝜎𝜎 2 の釣鐘型関数
𝛍𝛍© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

球面ガウス関数(SG)とは？
• ガウス関数の領域を単位ベクトルに制約
三次元ガウス関数

𝐺𝐺 𝛚𝛚, 𝛏𝛏, 𝜆𝜆 = 𝑔𝑔
軸
（平均）

鋭さ
(分散の逆数)1𝛚𝛚 − 𝛏𝛏 ,
𝜆𝜆

軸𝛏𝛏
𝛚𝛚

※正規化するとvon Mises-Fisher分布© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

SGローブの軸𝐺𝐺 𝛚𝛚, 𝛏𝛏, 𝜆𝜆© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

SGローブの鋭さ
𝐺𝐺 𝛚𝛚, 𝛏𝛏, 𝜆𝜆𝜆𝜆 = 10𝜆𝜆 = 100© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

𝜆𝜆 = 1000

SGローブの線形和• 球面上の関数を近似可能
𝑁𝑁� 𝑐𝑐𝑖𝑖 𝐺𝐺𝑖𝑖 𝛚𝛚 = 𝑐𝑐0 ×𝑖𝑖+𝑐𝑐1 ×© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

+𝑐𝑐2 ×+⋯解析的に解ける計算
𝐺𝐺1 𝛚𝛚 𝐺𝐺2 𝛚𝛚= e 𝛏𝛏𝑚𝑚 −𝜆𝜆1 −𝜆𝜆2 𝐺𝐺 𝛚𝛚,𝛏𝛏𝑚𝑚, 𝛏𝛏𝑚𝑚𝛏𝛏𝑚𝑚

𝛏𝛏𝑚𝑚 = 𝜆𝜆1 𝛏𝛏1 + 𝜆𝜆2 𝛏𝛏2積� 𝐺𝐺 𝛚𝛚 d𝛚𝛚� 𝐺𝐺1 𝛚𝛚 𝐺𝐺2 𝛚𝛚 d𝛚𝛚

積分

積の積分

S2
=

2𝜋𝜋
1 − e−2𝜆𝜆
𝜆𝜆

S2

=

4𝜋𝜋 sinh 𝛏𝛏𝑚𝑚
e𝜆𝜆1 +𝜆𝜆2 𝛏𝛏𝑚𝑚

照明計算を近似するのに使える！
© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

1 球面ガウス関数の基礎
2 レンダリングへの応用
3 動的間接照明
4 単純化した実装のご紹介
5 まとめ

レンダリングへの応用© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

レンダリング方程式 [Kajiya86]
𝐿𝐿(𝐱𝐱𝑝𝑝 , 𝛚𝛚𝑜𝑜 ) = � 𝐿𝐿𝑖𝑖𝑖𝑖 𝐱𝐱𝑝𝑝 , 𝛚𝛚 𝜌𝜌 𝛚𝛚, 𝛚𝛚𝑜𝑜 max 𝛚𝛚 ⋅ 𝐧𝐧, 0 d𝛚𝛚
S2

𝛚𝛚

入射光

∗

𝛚𝛚𝑜𝑜

𝐧𝐧

𝛚𝛚

反射ローブ

© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

レンダリング方程式 [Kajiya86]
𝐿𝐿(𝐱𝐱𝑝𝑝 , 𝛚𝛚𝑜𝑜 ) = � 𝐿𝐿𝑖𝑖𝑖𝑖 𝐱𝐱𝑝𝑝 , 𝛚𝛚 𝜌𝜌 𝛚𝛚, 𝛚𝛚𝑜𝑜 max 𝛚𝛚 ⋅ 𝐧𝐧, 0 d𝛚𝛚
S2

𝐧𝐧

𝛚𝛚
∗
𝛚𝛚
球面上の積の積分
𝛚𝛚

入射光

𝑜𝑜

反射ローブ

© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

レンダリング方程式 [Kajiya86]
𝐿𝐿(𝐱𝐱𝑝𝑝 , 𝛚𝛚𝑜𝑜 ) = � 𝐿𝐿𝑖𝑖𝑖𝑖 𝐱𝐱𝑝𝑝 , 𝛚𝛚 𝜌𝜌 𝛚𝛚, 𝛚𝛚𝑜𝑜 max 𝛚𝛚 ⋅ 𝐧𝐧, 0 d𝛚𝛚S2𝑁𝑁� 𝑐𝑐𝑖𝑖 𝐺𝐺𝑖𝑖 𝛚𝛚
𝑖𝑖

𝛚𝛚

入射光

𝑀𝑀

𝐧𝐧

𝛚𝛚
𝑐𝑐𝑗𝑗 𝐺𝐺𝑗𝑗 𝛚𝛚𝛚𝛚
∗ �
𝑜𝑜

𝑗𝑗

反射ローブ

© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

球面調和関数との違い
 高周波を効率良く近似可能– 鋭い鏡面反射や鋭い入射光を表現できる

 計算時間がO(𝑀𝑀𝑀𝑀)– 基底数𝑀𝑀か𝑁𝑁どちらかは少なくした方が良い𝑁𝑁� 𝑐𝑐𝑖𝑖 𝐺𝐺𝑖𝑖 𝛚𝛚
𝑖𝑖

∗

𝑀𝑀

� 𝑐𝑐𝑗𝑗 𝐺𝐺𝑗𝑗 𝛚𝛚
𝑗𝑗© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

反射ローブのSG近似• SGの数は少なくしたい• Diffuse-Specular BRDFではふたつのSGで近似– 拡散反射用に１個– 鏡面反射用に１個© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

拡散反射ローブのSG近似• ランバートモデルを仮定• ローブの軸は法線• ローブの鋭さ𝜆𝜆𝑑𝑑 ≈ 2• 係数はエネルギーを保存するように
𝑅𝑅𝑑𝑑
𝐺𝐺 𝛚𝛚, 𝐧𝐧, 𝜆𝜆𝑑𝑑
max 𝛚𝛚 ⋅ 𝐧𝐧, 0 ≈ 𝑅𝑅𝑑𝑑
𝜋𝜋
∫S2 𝐺𝐺 𝛚𝛚′, 𝐧𝐧, 𝜆𝜆𝑑𝑑 d𝛚𝛚′
© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

鏡面反射ローブのSG近似 [Wang09]• まず最初に法線分布関数をSG近似– 釣鐘型法線分布はSGひとつで近似可能– ローブの軸は法線、ローブの鋭さはモデル依存n𝐷𝐷 𝛚𝛚ℎ ≈ 𝐺𝐺(𝛚𝛚ℎ , 𝐧𝐧, 𝜆𝜆ℎ )© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

法線分布関数の鋭さ 𝜆𝜆ℎ
Phong分布Beckmann分布
GGX分布

𝜆𝜆ℎ =Phong指数
𝜆𝜆ℎ =

2

（粗さパラメータ）

2※GGXについては粗めの近似© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

法線分布から反射方向分布へ• 視線の入射角が浅いほど反射ローブは鋭く
d𝛚𝛚ℎ
𝛚𝛚𝑜𝑜

法線分布

d𝛚𝛚 = 4 𝛚𝛚𝑜𝑜 ⋅ 𝛚𝛚ℎ d𝛚𝛚ℎ𝛚𝛚𝑜𝑜

反射方向分布© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

法線分布から反射方向分布へ• 完全鏡面反射方向を基準に近似

𝛚𝛚𝑜𝑜

𝐧𝐧

𝐺𝐺 𝛚𝛚ℎ , 𝐧𝐧, 𝜆𝜆ℎ𝛏𝛏𝑠𝑠 （完全鏡面反射方向）

𝜆𝜆ℎ≈ 𝐺𝐺 𝛚𝛚, 𝛏𝛏𝑠𝑠 ,4 𝛚𝛚𝑜𝑜 ⋅ 𝐧𝐧

※球面ワーピングと呼ばれる [Wang09]© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

法線分布以外の要素• フレネルやmasking-shadowing function等• 十分に低周波(≈定数)と仮定• 積分の外に出す [Wang09]
� 𝑐𝑐(𝛚𝛚)𝐺𝐺𝑖𝑖 (𝛚𝛚)𝐺𝐺𝑗𝑗 (𝛚𝛚) d𝛚𝛚 ≈ 𝑐𝑐(𝛏𝛏′) � 𝐺𝐺𝑖𝑖 (𝛚𝛚)𝐺𝐺𝑗𝑗 (𝛚𝛚) d𝛚𝛚S2S2

ふたつのローブ積の軸 [Xu14]
or どちらか片方のローブの軸© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

異方性球面ガウス関数(ASG) [Xu13]

ASGで表現異方性BRDF© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

等方性BRDFの反射ローブ

BRDF: SG

等方性BRDFでも反射ローブは異方性

ASGで表現可能BRDF: ASG

Reference

映り込みが長く伸びる現象に対応© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

異方性の鋭さ
等方性BRDFの場合
𝜆𝜆ℎ
横の鋭さ: 𝜂𝜂𝑥𝑥 = 8 𝛚𝛚 ⋅ 𝐧𝐧 2𝑜𝑜

入射角が浅い程横幅は狭くなる

𝜆𝜆ℎ
縦の鋭さ: 𝜂𝜂𝑦𝑦 =8

縦の長さは入射角に依存しない© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

𝛚𝛚𝑜𝑜

𝐧𝐧
𝛏𝛏𝑠𝑠

𝜂𝜂𝑦𝑦

𝜂𝜂𝑥𝑥

レンダリング方程式
𝐿𝐿(𝐱𝐱𝑝𝑝 , 𝛚𝛚𝑜𝑜 ) = � 𝐿𝐿𝑖𝑖𝑖𝑖 𝐱𝐱𝑝𝑝 , 𝛚𝛚 𝜌𝜌 𝛚𝛚, 𝛚𝛚𝑜𝑜 max 𝛚𝛚 ⋅ 𝐧𝐧, 0 d𝛚𝛚
S2

𝛚𝛚

入射光

2

𝐧𝐧

𝛚𝛚
𝑐𝑐𝑗𝑗 𝐺𝐺𝑗𝑗 𝛚𝛚𝛚𝛚
∗ �
𝑜𝑜

𝑗𝑗

反射ローブ

© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

入射光の球面ガウス関数表現• 直接照明– 光源をSGを使って表現– SG lightと呼ばれる [Yan12]© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

静的環境マップ• 複数のSG lightで近似• 事前計算でフィッティング [Tsai06]© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

1 球面ガウス関数の基礎
2 レンダリングへの応用
3 動的間接照明
4 単純化した実装のご紹介
5 まとめ

動的間接照明© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

Virtual Point Lights (VPLs) [Keller97]

光源からVPLを放出

VPLの光の寄与を計算© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

VPLの生成• Reflective shadow maps [Dachsbacher05]• 各ピクセル=VPL

深度

VPLの位置

法線

拡散反射率

鏡面反射率

鏡面の粗さ

VPLの放射強度を計算するのに使用© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

VPLの問題• 生成された膨大なVPL数– 全部使うのは非効率的• 少数をサンプリング？
– アーティファクト
– フリッカリング– 特に鏡面反射で顕著

VPLによるアーティファクト

© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

VPLの問題• 生成された膨大なVPL数– 全部使うのは非効率的• 少数をサンプリング？
– アーティファクト
– フリッカリング– 特に鏡面反射で顕著© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

輝度をクランプすると暗くなる

コースティクス

© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

解決法• Virtual SG Lights (VSGLs) [Tokuyoshi15]• VPLの集合を大雑把に近似– 位置の密度: ガウス分布– 放射強度: 球面ガウス関数 (SG)

位置の分布

×

放射強度
© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

=

放射輝度

放射強度のSG近似• VSGLの放射強度 = VPLの放射強度の総和

各VPLの放射強度（∝反射ローブ）をSGで近似総和を単一のSGで近似

エネルギーの総和×方向分布の平均© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

方向分布の平均• Toksvig filter [Toksvig05]– 正規化したSGにも適用可能

VPL毎に平均ベクトルを計算(Toksvigだと簡単)

全VPLで平均© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

平均ベクトルから分布を推定

位置の分布• 等方性ガウス分布で近似– 位置の重み付き平均と分散を計算– 重み: VPLのエネルギー
分散: 𝜎𝜎𝑣𝑣2 = E 𝐱𝐱 2 − E 𝐱𝐱2

平均を求める処理で計算可能© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

Mipmappingで平均を計算

拡散反射成分の重み

鏡面反射成分の重み

位置

拡散反射方向の平均ベクトル

鏡面反射方向の平均ベクトル

位置の二乗ノルム© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

1024個のVSGLを生成• Mipmapのピクセルをランダムサンプリング• Filtered importance sampling [Krivanek08]– 確率密度低– 確率密度高広い領域の平均をサンプル
狭い領域の平均をサンプル© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

間接照明の影• 各VSGLにImperfect Shadow Map (ISM)を生成– 論文投稿時はAdaptive ISMs [Ritschel11]を使っていた– 今はTessellation-based ISMs [Barak13]を使用• 実装が簡単• 比較的誤差が少ない© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

VSGLの放射輝度
放射輝度

=

放射強度

×

放射強度

位置の分布

位置の分散

𝐼𝐼𝑣𝑣 𝛚𝛚
2
𝐿𝐿𝑒𝑒 𝐱𝐱, 𝛚𝛚 ≈
𝑔𝑔
𝐱𝐱
−
𝛍𝛍
,
𝜎𝜎
𝑣𝑣
𝑣𝑣
2
2𝜋𝜋𝜎𝜎𝑣𝑣 𝛚𝛚 ⋅ 𝐧𝐧
位置の平均

VPLが分布する面の法線© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

シェーディング点の入射光
𝐱𝐱 𝒑𝒑

𝐧𝐧

𝐱𝐱 𝑟𝑟

𝛍𝛍𝑣𝑣

𝐿𝐿𝑖𝑖𝑖𝑖 𝐱𝐱𝑝𝑝 , 𝛚𝛚 ≈ 𝐿𝐿𝑒𝑒 𝐱𝐱 𝑟𝑟 , −𝛚𝛚 𝛚𝛚 ⋅ 𝐧𝐧

• 位置の分布はどこから見ても同じ形とする• 代わりに 𝛚𝛚 ⋅ 𝐧𝐧 を乗算してエネルギーを補正– Virtual Spherical Lights [Hasan09]と同様© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

シェーディング点の入射光
𝐼𝐼𝑣𝑣 −𝛚𝛚 𝛚𝛚 ⋅ 𝐧𝐧
2
𝐿𝐿𝑖𝑖𝑖𝑖 𝐱𝐱 𝑝𝑝 , 𝛚𝛚 ≈ 𝐿𝐿𝑒𝑒 𝐱𝐱𝑟𝑟 , −𝛚𝛚 𝛚𝛚 ⋅ 𝐧𝐧 ≈
𝑔𝑔
𝐱𝐱
−
𝛍𝛍
,
𝜎𝜎
𝑟𝑟
𝑣𝑣
𝑣𝑣
2𝜋𝜋𝜎𝜎𝑣𝑣2 𝛚𝛚 ⋅ 𝐧𝐧

VSGLの面の向きを考慮する必要は無い（実際の面の法線分布は放射強度で既に表現されている）
球面上の位置𝐼𝐼𝑣𝑣 −𝛚𝛚2≈2 𝑔𝑔 𝐱𝐱 𝑟𝑟 − 𝛍𝛍𝑣𝑣 , 𝜎𝜎𝑣𝑣
2𝜋𝜋𝜎𝜎𝑣𝑣

位置の分布（ガウス関数）𝛍𝛍𝑣𝑣 − 𝐱𝐱 𝒑𝒑
𝛍𝛍𝑣𝑣 − 𝐱𝐱 𝒑𝒑
𝐼𝐼 −𝛚𝛚
= 𝑣𝑣
𝐺𝐺 𝛚𝛚,,𝜎𝜎𝑣𝑣2
2𝜋𝜋𝜎𝜎𝑣𝑣2
𝛍𝛍𝑣𝑣 − 𝐱𝐱 𝒑𝒑

2

シェーディング点から見た方向分布（球面ガウス関数）© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

シェーディング点の入射光
𝛍𝛍𝑣𝑣 − 𝐱𝐱 𝒑𝒑
𝛍𝛍𝑣𝑣 − 𝐱𝐱 𝒑𝒑
𝐼𝐼𝑣𝑣 −𝛚𝛚
𝐿𝐿𝑖𝑖𝑖𝑖 𝐱𝐱 𝑝𝑝 , 𝛚𝛚 ≈
𝐺𝐺
𝛚𝛚,
,
𝜎𝜎𝑣𝑣2
2𝜋𝜋𝜎𝜎𝑣𝑣2
𝛍𝛍𝑣𝑣 − 𝐱𝐱 𝒑𝒑

𝛍𝛍𝑣𝑣 − 𝐱𝐱 𝒑𝒑
𝛍𝛍𝑣𝑣 − 𝐱𝐱 𝒑𝒑
𝑐𝑐𝑣𝑣≈
𝐺𝐺 𝛚𝛚, −𝛏𝛏𝑣𝑣 , 𝜆𝜆𝑣𝑣 𝐺𝐺 𝛚𝛚,,
2𝜋𝜋𝜎𝜎𝑣𝑣2
𝜎𝜎𝑣𝑣2
𝛍𝛍𝑣𝑣 − 𝐱𝐱 𝒑𝒑

2

2

放射強度も
球面ガウス関数= 𝑐𝑐𝑖𝑖𝑖𝑖 𝐺𝐺 𝛚𝛚, 𝛏𝛏𝑖𝑖𝑖𝑖 , 𝜆𝜆𝑖𝑖𝑖𝑖

入射放射輝度𝐿𝐿𝑖𝑖𝑖𝑖 𝐱𝐱 𝑝𝑝 , 𝛚𝛚 は球面ガウス関数で表現可能！

© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

レンダリング方程式
𝐿𝐿(𝐱𝐱𝑝𝑝 , 𝛚𝛚𝑜𝑜 ) = � 𝐿𝐿𝑖𝑖𝑖𝑖 𝐱𝐱𝑝𝑝 , 𝛚𝛚 𝜌𝜌 𝛚𝛚, 𝛚𝛚𝑜𝑜 max 𝛚𝛚 ⋅ 𝐧𝐧, 0 d𝛚𝛚
S21024×2

� 𝑐𝑐𝑖𝑖 𝐺𝐺𝑖𝑖 𝛚𝛚
𝑖𝑖

𝛚𝛚

入射光

∗

2

𝐧𝐧

� 𝑐𝑐𝑗𝑗 𝐺𝐺𝑗𝑗 𝛚𝛚𝛚𝛚

𝛚𝛚𝑜𝑜

𝑗𝑗

反射ローブ

© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

Tips 1
• シェーディング点の拡散反射はSG近似しない– コサイン項を低周波と仮定して積分の外に出す– VSGL数が多いのでバイアス低減を優先• シェーディング点の鏡面反射には異方性球面
ガウス関数(ASG)を使用– 映り込みが長く伸びる現象に対応© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

Tips 2
• ASG近似する項はひとつに絞った方が良い– ASG同士の積は精度や速度が良くない
SGs

ASGs

低周波の積の積分

0.16 ms
Light: SG
BRDF: SG

0.20 ms
0.49 ms
Light: SG
Light: ASG
BRDF: ASG BRDF: ASG

Reference

GPU: AMD RadeonTM HD 6990
© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

実験結果(1)1024 Virtual Point Lights

1024 Virtual SG Lights© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

実験結果(2)1024 Virtual Point Lights

1024 Virtual SG Lights© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

制限事項
• 光漏れ

– 推定値の分散低減と引き換えにバイアス発生• フリッカリングは完全には消えない– Filtered importance samplingでは不十分– 今後の課題:• Temporally coherent sampling [Barak13]© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

1 球面ガウス関数の基礎
2 レンダリングへの応用
3 動的間接照明
4 単純化した実装のご紹介
5 まとめ

単純化した実装のご紹介© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

目標• 高速化・省メモリ化• 実装の簡単化• フリッカリングの完全除去• 数値的な正確さは重視しない© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

特殊化• スポットライトがシーンを局所的に照らしている状況に特化– 懐中電灯– ヘッドライト– サーチライト, etc.

© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

VSGLのサンプル数• 少なくても品質が落ちにくい

限界までサンプル数を減らしてみた
VSGL数=２

拡散反射用に１個
鏡面反射用に１個© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

VSGLのパラメータ• Reflective Shadow Maps全領域の平均– ランダムサンプリング必要ない– Mipmapを作るのは無駄• Compute Shaderで計算– データ量・計算量削減© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

Shared memoryを使った並列総和間接照明の影• Imperfect Shadow Mapsはオミット– 少数の光源には向かない• 高速なソフトシャドウの実装は今後の課題© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

シェーディング
• シェーディング点の拡散反射もSG近似– ライティングが柔らかくなる– 光漏れは多くなる（バイアス増加）© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

不要になる処理• Additional reflective shadow map generation• Bidirectional reflective shadow mapping• Mipmapping of reflective shadow maps
• Filtered importance sampling• Imperfect shadow maps
• Interleaved sampling & geometry-aware denoising• Temporal reprojection© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

結果© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

結果

Reflective Shadow Map
VSGL generation
Shading

0.224 ms
0.063 ms
0.407 ms

(GPU: AMD Radeon R9 290X)

LDDE光路LDGE光路LGDE光路LGGE光路L: Light, D: Diffuse surface, G: Glossy surface, E: Eye© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

Tips• Reflective Shadow Mapsの解像度は低く– 今回は128x128ピクセル (16384 VPLs)を使ったが– 64x64ピクセル (4096 VPLs)でも十分© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

単純版の制限事項• 光漏れが多くなる• 多峰性分布の照明は表現できない– 単峰性で近似– ライトが狭い領域を照らしている場合はあまり問題にならない© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

1 球面ガウス関数の基礎
2 レンダリングへの応用
3 動的間接照明
4 単純化した実装のご紹介
5 まとめ

まとめ

© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

球面ガウス関数の利点• 広がりをもった光源を表現可能– エリアライト、環境マップ、動的間接照明• 鋭い照明を表現可能– 鏡面反射、コースティクス• 異方性の反射ローブも扱える© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

さらなる応用• 髪の毛 [Xu11]• 布 [Iwasaki14]• Subsurface Scattering (表面下散乱) [Yan12]© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

宣伝• Ch. 3 球面ガウス関数を用いた
動的間接照明の高速近似– シェーダーのサンプルコード付• Ch. 4 鏡面反射ローブを考慮したバイラテラルフィルター© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.

参考文献
•
•
•
•
•
•
•
•
•
•
•
•
•
•

BARÁK T., BITTNER J., HAVRAN V.: Temporally coherent adaptive sampling for imperfect shadow maps. Comput. Graph. Forum 32, 4 (2013), 87–96.
HASAN, M., KR IVANEK, J., WALTER, B., AND BALA, K. 2009. Virtual spherical lights for many-light rendering of glossy scenes. ACM Trans. Graph. 28, 5, 143:1–
143:6.
IWASAKI K., MIZUTANI K., DOBASHI Y., NISHITA T.: Interactive cloth rendering of microcylinder appearance model under environment lighting. Comput.
Graph. Forum 33, 2 (2014), 333–340.
KAJIYA J. T.: The rendering equation. SIGGRAPH Comput. Graph. 20, 4 (1986), 143–150.
KELLER, A. 1997. Instant radiosity. In Proc. SIGGRAPH’97, 49–56.
KRIVANEK, J., AND COLBERT, M. 2008. Real-time shading with filtered importance sampling. Comput. Graph. Forum 27, 4, 1147–1154.
RITSCHEL T., EISEMANN E., HA I., KIM J. D., SEIDEL H.-P.: Making imperfect shadow maps view-adaptive: High-quality global illumination in large dynamic
scenes. Comput. Graph. Forum 30, 8 (2011), 2258–2269.
TOKSVIG M.: Mipmapping normal maps. J. Graph. Tools 10, 3 (2005), 65–71. 3
TOKUYOSHI, Y. 2015. Virtual Spherical Gaussian Lights for Real-time Glossy Indirect Illumination. Comput. Graph. Forum (Proc. PG’15).
TSAI, Y.-T., AND SHIH, Z.-C. 2006. All-frequency precomputed radiance transfer using spherical radial basis functions and clustered tensor approximation. ACM
Trans. Graph. 25, 3, 967–976.
XU K., MA L.-Q., REN B., WANG R., HU S.-M.: Interactive hair rendering and appearance editing under environment lighting. ACM Trans. Graph. 30, 6 (2011),
173:1–173:10.
XU K., SUN W.-L., DONG Z., ZHAO D.-Y., WU R.-D., HU S.-M.: Anisotropic spherical Gaussians. ACM Trans. Graph. 32, 6 (2013), 209:1–209:11.
XU K., CAO Y.-P., MA L.-Q., DONG Z., WANG R., HU S.-M.: A practical algorithm for rendering interreflections with all-frequency BRDFs. ACM Trans. Graph. 33,
1 (2014), 10:1–10:16.
YAN, L.-Q., ZHOU, Y., XU, K., AND WANG, R. 2012. Accurate translucent material rendering under spherical Gaussian lights. Computer Graphics Forum 31, 7,
2267–2276.

© 2015 SQUARE ENIX CO., LTD. All Rights Reserved.