![Page 1: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/1.jpg)
Image-Space Horizon-Image-Space Horizon-Image Space HorizonBased Ambient Occlusion
Image Space HorizonBased Ambient Occlusion
Bryan DudashBryan Dudash
![Page 2: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/2.jpg)
空からの光
• 最も簡単なアンビエントオクルージョン (AO)ン (AO)
• 光源 = 空 (球体光源)• AO – 二つの定義
シーンAO 二つの定義• AO = 空の照明による拡散光 [Landis 02]
[Christensen 03] • AO = 空の照明による影(sky illumination)
[Pharr and Green 04] [Hegeman et al. 06]
ただ 屋外のシ ンに限られている
球体光源
• ただ、屋外のシーンに限られている
![Page 3: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/3.jpg)
アンビエントオクルージョン
• 光源= ローカルな半球
• 現在の面上の点を中心に
径 ザ 定
シーン
• 半径 = ユーザー設定
• レイトレーシングにより、描画できる[Gelato] [Mental Ray]
n[Gelato] [Mental Ray]
ローカルな球体光源
P
![Page 4: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/4.jpg)
アンビエントオクルージョン
深さ 曲面性 距離感をモデルに与えるのが特徴• 深さ、曲面性、距離感をモデルに与えるのが特徴
AOなし AOあり
![Page 5: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/5.jpg)
スクリーン空間上のアンビエントオクリージョン
• 下記の報告にはじめて紹介された[Shanmugam and Orikan 07] 目
[Mittring 07] [Fox and Compton 08]
入力 バ 法線
イメージ平面
• 入力 = Z-バッファー + 法線• ダイナミックなシーンを対象に、前処理なしでAOの近似値が描画でき処理なしでAOの近似値が描画できる Z-バッファー
• Z-Buffer = ハイトフィールド• z = f(x,y)
![Page 6: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/6.jpg)
地平のマッピング[Max 86]
• 1次元のハイトフィールドだと
-Z
地平角度
PP +X
サンプリング(標本化)の方向
![Page 7: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/7.jpg)
地平を検出する
• ハイトフィールドのマーチング
-Z
PS0 地平角度P +X
サンプリング方向
![Page 8: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/8.jpg)
地平を検出する
• ハイトフィールドのマーチング
-Z
PS0
P
S1
+X
サンプリング方向
![Page 9: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/9.jpg)
地平を検出する
• ハイトフィールドのマーチング
-Z
地平角度
S2
PS0
P
S1
+X
サンプリング方向
![Page 10: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/10.jpg)
地平を検出する
• ハイトフィールドのマーチング
-Z S3
S2
地平角度
P
S2
S0P
S1
+X
サンプリング方向
![Page 11: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/11.jpg)
接線の平面
点(P)とPの法線( )だと• 点(P)とPの法線(n)だと
-Zn
XY 平面
P
XY 平面
接線角度接線のベクトル 接線角度
![Page 12: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/12.jpg)
地面ベースのアンビエントオクルージョン
Z-Z地面角度 [-π/2, π/2] h(H) = atan(H.z / ||H.xy||)地面ベクトル H
P
XY 平面
接線ベクトル T
P接線角度 [-π/2, π/2]t(T) = atan(T.z / ||T.xy||)
AO = sin h – sin t
![Page 13: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/13.jpg)
アンビエントオクルージョンの半径
• 目の空間上で定義されたアンビエントオクルージョン
目
ンビエントオクル ジョンの半径• シーン = 深さのイメージ
イメージ平面
シ ン 深さのイメ ジ
• 光源の球体をテクスチャー空間へと投射する空間へと投射する• 球体の投射を円で近似化する
• 円をUV空間に投射する円をUV空間に投射するP R
球体光源
![Page 14: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/14.jpg)
深さイメージのサンプリング
• ピクセル毎の方向が正常分
布にな ているとする
u
布になっているとする
• 方向毎のサンプルを固定
• ピクセル毎のランダム化 Pv
• ピクセル毎、方向をラ
ンダムに回転させる
• ランダムなオフセット
でサンプルをジッタピクセル毎に4つ方向の例
でサンプルをジッター
させる(ランダム化)
![Page 15: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/15.jpg)
法線
• ピクセル単位で法線を保存する
補完された法線間違ったする
• 補完された法線ではない• 間違った遮蔽が発生してしまう
法線
面の法線間違った遮蔽
• 面の法線になる
• ジオメトリのパスで目空間上の座標に対して dd /dd 命令を利用する
Pに対して、ddx/ddy命令を利用する
![Page 16: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/16.jpg)
コアなアルゴリズム
• 2次元上、AOの積分を取る• 複数の2次元方向でAOの平均値を取る複数 次元方向 平均値を取る
• AO(θ) = sin h(θ) - sin t(θ)
Z
θ
-Zh(θ)
XY 平面
面上の点 PXY 平面
t(θ)
![Page 17: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/17.jpg)
折り目に見られるアンビエントオクルージョン
![Page 18: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/18.jpg)
低三角化による問題
θ
n-Z
XY 平面AO > 0 間違った遮蔽
サンプリング方向 接線の平面サンプリング方向 接線の平面
![Page 19: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/19.jpg)
解: 角度のバイアス
• Mental Rayでの”Spread”パラメーターに似ている
• 接線平面周辺の遮蔽を無視する接線平面周辺の遮蔽を無視する
θ
t(θ) + biasn
-Z 有効な接線平面
t(θ) bias
XY 平面AO == 0
接線平面
t(θ)
サンプリング方向 接線平面(符号付き角度)
リ グ方
![Page 20: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/20.jpg)
角度ビアスの実例
角度バイアスなし 角度バイアスあり= 30度角度バイアスなし 角度バイアスあり 30度
![Page 21: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/21.jpg)
スクリーン外のサンプリング
• 視錐台外では、シーン情報がない
バ 蔽– 辺固定と角度バイアスを用いて間違った遮蔽を除
外した
角度バイアス = 0 角度バイアス = 30度
![Page 22: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/22.jpg)
非連続性の問題
-Z -Z
S1
n S1n
Pixel P0 S0 隣Pixel P1
AO(P0) = sin h – sin t= sin 0 – sin 0 = 0
AO(P1) = sin h – sin t == sin(45deg) – sin 0 = 0.7 sin 0 sin 0 0 sin(45deg) sin 0 0.7
P0 とP1の間、非連続が発生する
![Page 23: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/23.jpg)
減衰の関数
• 放射関数W(r)により、AOのウェートを付ける• “obscurances”に似ているアプローチ [Zhukov et al. 98]似 るア チ [ ]• [Gelato] と[Mental Ray]では、 “Falloff” のパラメーター
基準化した距離r = ||S – P|| / R1
1.2
減衰関数W(r) = 1 - r20.6
0.8
step
1-r
0.2
0.4 1-r^2
-0.2
00 0.5 1 1.5 2
![Page 24: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/24.jpg)
サンプル単位の減衰
• WAO = 0と、初期化
• サンプルS の後 SΦ(S2)
• サンプルS1の後• AO(S1) = sin Φ(S1) – sin t• WAO += W(S1) AO(S1)
S2Φ(S1)
R S1• WAO += W(S1) AO(S1)• サンプルS2の後
• もし Φ(S ) > Φ(S ) P• もし、 Φ(S2) > Φ(S1)• AO(S2) = sin Φ(S2) – sin t• WAO += W(S2) (AO(S2) - AO(S1))
P1
サンプリング方向( 2) ( ( 2) ( 1)) サンプリング方向
![Page 25: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/25.jpg)
減衰ありとなしの例
減衰あり 減衰なし減衰ありW(r) = 1 - r2
減衰なしW(r) = 1
![Page 26: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/26.jpg)
ノイズ
ピクセル毎のランダム化によるノイズ• ピクセル毎のランダム化によるノイズ
AO: 6 方向x 方向毎に6ステップ
![Page 27: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/27.jpg)
Cross Bilateral Filter
をぼかす• AOをぼかす
• 深さ依存性のガウスのブラ• [Petschnigg et al. 04]• [Eisemann and Durand 04] • 辺のぼかしが防止できる
• 厳密には、非分離型のフィルターだが、X方向とY厳密 、非分離 ィ 、 方方向にそれぞれ与える
![Page 28: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/28.jpg)
Cross Bilateral Filter
深さ依存 ぼか• 深さ依存のぼかし
ぼかしフィルターなし 15x15のぼかしフィルター
![Page 29: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/29.jpg)
半解像度のAO
AOはほとんど低周波数• AOはほとんど低周波数
• 半解像度の描画も可能
• 半解像度の深さイメージを読み込む半解像度の深さイメ ジを読み込む
• ぼかし処理は、まだ全解像度を対象にする
• 辺での色滲みを防止する
• 目上の深さを全解像度で読み込む
• [Kopf et al. 07]
![Page 30: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/30.jpg)
描画パイプライン
不透明モデルの描画
AO 描画
目空間の法線 目空間の深さ Unprojectionのパラメーター(fovyとアスペクト比)
AOの描画(全解像度または半分)
色
目空間上の半径 R方向の数方向当たりのステップ数角度バイX上、 AOをぼかす角度バイアス
Kernel 半径Spatial sigma
Y上、AOをぼかす
色 整
Spatial sigmaRange sigma
色の調整
![Page 31: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/31.jpg)
デモ
![Page 32: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/32.jpg)
パフォーマンス
主な要因• 主な要因
• スクリーンの解像度
• アンビエントオクルージョンの解像度解像度
• サンプル数 (方向 * ステップ)• ぼかしフィルターの大きさ
![Page 33: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/33.jpg)
半解像度のAO
イメージサイズ 1600x1200AO解像度 800x600ぼかし解像度 1600x1200
半解像度 AO GeForce GTX 280ジオメトリ 1.0 ms
ぼかし解像度
AO 3.5 msぼかし 2.5 ms合計 7.0 ms
143 fps143 fps
6 directions per pixel6 steps per direction15x15 Blur Size
![Page 34: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/34.jpg)
全解像度のAO
イメージサイズ 1600x1200AO 解像度 1600x1200Blur 解像度 1600x1200解像度
Full‐Res AO GeForce GTX 280Geometry 1.0 ms
AO 30.0 msBlur 2.5 msTotal 33.5 ms
30 fps30 fps
6 方向/ピクセル6 ステップ/方向15x15 ぼかしのサイズ
![Page 35: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/35.jpg)
半解像度のAO6x6 サンプル/ AO ピクセルBlurなし
AO = 3.5 ms @ 800x600GeForce GTX 280上
Blurなし
![Page 36: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/36.jpg)
AO = 3.5 ms @ 800x600Blur = 2.5 ms @ 1600x1200
半解像度のAO6x6 サンプル/ AO ピクセル15x15 Blur GeForce GTX 280上15x15 Blur
![Page 37: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/37.jpg)
全解像度のAO6x6 サンプル/ AO ピクセル15 15 Bl
AO = 30 ms @ 800x600Blur = 2.5 ms @ 1600x1200
15x15 Blur GeForce GTX 280上
![Page 38: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/38.jpg)
全解像度のAO16x16 サンプル/ピクセル16x16 サンプル/ピクセルBlurなし
![Page 39: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/39.jpg)
全解像度のAO16 32 サンプル/ピクセル16x32 サンプル/ピクセルBlurなし
![Page 40: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/40.jpg)
結論
サ プ• DirectX10 SDK のサンプル• developer.nvidia.comにて配信中
ビデ• ビデオと技術白書も
• ゲームエンジンに組み込みやすい!• 入力 = 目空間上の深さと法線
• 後処理のパスで描画する
• 更に詳しくは、ShaderX7 (掲載予定)
![Page 41: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/41.jpg)
Medusa デモ
![Page 42: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/42.jpg)
Acknowledgments
NVIDIA• NVIDIA• Rouslan Dimitrov, Samuel Gateau, Michael Thompson,
Ignacio Castano the demo teamIgnacio Castano, the demo team• Models
• Dragon - Stanford 3D Scanning Repositoryg g p y• Sibenik Cathedral - Marko Dabrovic
![Page 43: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/43.jpg)
Q&A
bdudash@nvidia comコ ドのサンプルの以下のアドレスまで [email protected]@nvidia.com
コードのサンプルの以下のアドレスまでhttp://developer.nvidia.com
![Page 44: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/44.jpg)
ありがとうありがとうございました!ざ ました
10:40 - 12:00 Displacement Subdivision Surfaces in DX11p
Takayuki Kazama
13:00 - 14:20 G CGPU Physics and CUDA
Kitty Vongsay
14:50 16:1014:50 - 16:10 Real time Hair Rendering
Bryan Dudash
16:40 - 18:00 Horizon Based Ambient Occlusion
Bryan Dudash
developer.nvidia.com
![Page 45: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/45.jpg)
References
[M 86] MAX N L 1986 “H i i Sh d f b• [Max 86] MAX, N. L. 1986. “Horizon mapping: Shadows for bump-mapped surfaces.” In Proceedings of Computer Graphics Tokyo ’86 on Advanced Computer Graphics.
• [Zhukov et al. 98] Sergej Zhukov, Andrej Inoes, Grigorij Kronin, 1998. “An ambient light illumination model.” In Rendering Techniques ’98 G Drettakis and N Max Eds Eurographics 45–Techniques 98, G. Drettakis and N. Max, Eds., Eurographics, 4556.
• [Landis 02] Landis, 2002. “Production-Ready Global Illumination,” I ACM SIGGRAPH C #16In ACM SIGGRAPH Course #16.
• [Christensen 03] Christensen, P. H. 2003. “Global illumination and all that”. In ACM SIGGRAPH Course 9.
![Page 46: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/46.jpg)
References
[Ei d D d 04] El Ei d F éd D d• [Eisemann and Durand 04] Elmar Eisemann and Frédo Durand, “Flash Photography Enhancement via Intrinsic Relighting”, ACM SIGGRAPH 2004.
• [Petschnigg et al. 04] Petschnigg, Szeliski, Agrawala, Cohen, Hoppe, Toyama, “Digital photography with flash and no-flash image pairs ” ACM SIGGRAPH 2004image pairs. ACM SIGGRAPH 2004.
• [Schüler 05] Christian Schüler, 2005. “Eliminate surface acne with gradient shadow mapping”, ShaderX4: Advanced Rendering T h iTechniques.
• [Gelato] Gritz, L. 2006. “Gelato 2.1 Technical Reference”. NVIDIA.• [Mental Ray] “mental ray Shader Reference” November 2007[Mental Ray] mental ray Shader Reference , November 2007.
![Page 47: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/47.jpg)
References
[Mitt i 07] MITTRING M 2007 “Fi di t C E i 2”• [Mittring 07] MITTRING, M. 2007. “Finding next gen: Cry Engine 2”. In SIGGRAPH ’07: ACM SIGGRAPH 2007 courses.
• [Shanmugam and Orikan 07] SHANMUGAM, P., AND ARIKAN, O. [ g ] , , ,2007. “Hardware accelerated ambient occlusion techniques on GPUs”. In I3D ’07: Proceedings of the 2007 symposium on Interactive 3D graphics and gamesInteractive 3D graphics and games.
• [Kopf et al. 07] Johannes Kopf, Michael F. Cohen, Dani Lischinski, Matt Uyttendaele, “Joint Bilateral Upsampling”, SIGGRAPH '07: ACM SIGGRAPH 2007ACM SIGGRAPH 2007 papers.
• [Fox and Compton 08] Megan Fox and Stuart Compton, “Ambient Occlusive Crease Shading”, Game Developer Magazine, March g , p g ,2008.
![Page 48: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/48.jpg)
目空間上の位置を計算する
• 座標(u,v)にあるサンプルのS だと
uvunproject
s,tsnapx,y
目空間
uv 空間
st
ピクセルの中央点に移動させる
u,vs,tsnap
to s,tテクスチャー読み込み
zピクセルの中央点に移動させる読み込み
– 再構築の (x,y)とサンプルのzのすれ違いを防止するた再構築 ( ,y) サン すれ違 を防 する
め、uvを移動させる
![Page 49: Image-Space HorizonSpace Horizon- Based …...“Eliminate surface acne with gradient shadow mapping”, ShaderX 4: Advanced Rendering ThiTechniques. • [Gelato] Gritz, L. 2006. “Gelato](https://reader034.vdocuments.site/reader034/viewer/2022042219/5ec59a9ae9bad9475a4de685/html5/thumbnails/49.jpg)
接線角度
• 接線角度のTでは、
• 平面上のT(θ)• t(θ) = atan(T.z / ||T.xy||)
• 平面の基底を計算する
• 基底 = (dP/du dP/dv) XY
n• 基底 = (dP/du,dP/dv)– T = dP/du ∆u + dP/dv ∆v
勾配シャドーマッピングP
XY
t(θ) in [-π/2,π/2]– 勾配シャド マッピング[Schüler 05] 接線ベクトル T(θ)