• 検索結果がありません。

Microsoft PowerPoint - CEDEC_HorizonBasedAmbientOcclusiony_J.pptx [Read-Only]

N/A
N/A
Protected

Academic year: 2022

シェア "Microsoft PowerPoint - CEDEC_HorizonBasedAmbientOcclusiony_J.pptx [Read-Only]"

Copied!
49
0
0

読み込み中.... (全文を見る)

全文

(1)

Image-Space Horizon- Image-Space Horizon- Image Space Horizon

Based Ambient Occlusion Image Space Horizon

Based Ambient Occlusion

Bryan Dudash

Bryan Dudash

(2)

空からの光

最も簡単なアンビエントオクルージョ ン

(AO)

(AO)

光源

=

(

球体光源

)

AO – AO

二つの定義二つの定義 シーン

AO = 空の照明による拡散光 [Landis 02]

[Christensen 03]

AO = 空の照明による影(sky illumination) [Pharr and Green 04] [Hegeman et al. 06]

ただ 屋外のシ ンに限られている

球体光源

ただ、屋外のシーンに限られている

(3)

アンビエントオクルージョン

光源= ローカルな半球

現在の面上の点を中心に

シーン

半径 = ユーザー設定

レイトレーシングにより、描画できる

[Gelato] [Mental Ray] n

[Gelato] [Mental Ray]

ローカルな球体光源

P

(4)

アンビエントオクルージョン

深さ 曲面性 距離感をモデルに与えるのが特徴

深さ、曲面性、距離感をモデルに与えるのが特徴

AOなし AOあり

(5)

スクリーン空間上のアンビエントオクリージョン

下記の報告にはじめて紹介された

[Shanmugam and Orikan 07] [Mittring 07] [Fox and Compton 08]

入力 法線

イメージ平面

入力

= Z-

バッファー

+

法線

ダイナミックなシーンを対象に、前 処理なしでAOの近似値が描画でき 処理なしでAOの近似値が描画でき

Z-バッファー

Z-Buffer =

ハイトフィールド

z = f(x,y)

(6)

地平のマッピング

[Max 86]

• 1

次元のハイトフィールドだと

-Z

地平角度

P

P +X

サンプリング(標 本化)の方向

(7)

地平を検出する

ハイトフィールドのマーチング

-Z

P

S0

P 地平角度 +X

サンプリング方向

(8)

地平を検出する

ハイトフィールドのマーチング

-Z

P

S0 P

S1

+X

サンプリング方向

(9)

地平を検出する

ハイトフィールドのマーチング

-Z

地平角度 S2

P

S0 P

S1

+X

サンプリング方向

(10)

地平を検出する

ハイトフィールドのマーチング

-Z S3

S2

地平角度

P

S2

S0 P

S1

+X

サンプリング方向

(11)

接線の平面

点(P)とPの法線( )だと

点(P)とPの法線(n)だと

-Z n

XY 平面 P

XY 平面

接線のベクトル 接線角度接線角度

(12)

地面ベースのアンビエントオクルージョン

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

(13)

アンビエントオクルージョンの半径

目の空間上で定義されたア ンビエントオクルージョン

ンビエントオクル ジョン の半径

シーン

=

深さのイメージ

イメージ平面

深さのイメ

光源の球体をテクスチャー 空間へと投射する

空間へと投射する

球体の投射を円で近似化する

円を円を

UV UV

空間に投射する空間に投射する

P R

球体光源

(14)

深さイメージのサンプリング

ピクセル毎の方向が正常分 布にな ているとする

u

布になっているとする

方向毎のサンプルを固定

ピクセル毎のランダム化 v P

ピクセル毎、方向をラ

ンダムに回転させる

ランダムなオフセット

でサンプルをジッタ

ピクセル毎に4つ方向の例

でサンプルをジッター させる(ランダム化)

(15)

法線

ピクセル単位で法線を保存

する 間違った 補完された法線

する

補完された法線ではない

間違った遮蔽が発生してしまう

法線

面の法線 間違った

遮蔽

面の法線になる

ジオメトリのパスで目空間上の座標

に対して dd /dd 命令を利用する

P に対して、ddx/ddy命令を利用する

(16)

コアなアルゴリズム

2

次元上、

AO

の積分を取る

複数の複数 2次元方向で次元方向 AOの平均値を取る平均値を取る

AO(θ) = sin h(θ) - sin t(θ)

Z θ

-Z h(θ)

XY 平面 面上の点 P

XY 平面

t(θ)

(17)

折り目に見られるアンビエントオクルージョン

(18)

低三角化による問題

θ

n -Z

XY 平面

AO > 0 間違った遮蔽

サンプリング方向 接線の平面 サンプリング方向 接線の平面

(19)

:

角度のバイアス

Mental Ray

での

”Spread”

パラメーターに似ている

接線平面周辺の遮蔽を無視する接線平面周辺の遮蔽を無視する

θ

t(θ) + bias n

-Z 有効な接線平面

t(θ) bias XY 平面

AO == 0

接線平面 t(θ)

サンプリング方向 接線平面 (符号付き角度)

リ グ方

(20)

角度ビアスの実例

角度バイアスなし 角度バイアスあり= 30 角度バイアスなし 角度バイアスあり 30

(21)

スクリーン外のサンプリング

• 視錐台外では、シーン情報がない

辺固定と角度バイアスを用いて間違った遮蔽を除 外した

角度バイアス = 0 角度バイアス = 30度

(22)

非連続性の問題

-Z -Z

S1

n n S1

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の間、非連続が発生する

(23)

減衰の関数

放射関数

W(r)

により、

AO

のウェートを付ける

“obscurances”に似ているアプローチ るア [Zhukov et al. 98][ ]

[Gelato] [Mental Ray]では、 “Falloff” のパラメーター

基準化した距離 r = ||S – P|| / R

1 1.2

減衰関数 W(r) = 1 - r2

0.6 0.8

step 1-r

0.2

0.4 1-r^2

-0.2 0

0 0.5 1 1.5 2

(24)

サンプル単位の減衰

WAO = 0

と、初期化

サンプル

S

の後 S

Φ(S2)

サンプル

S

1の後

AO(

S1) = sin Φ(S1) – sin t

WAO += W(S

1

) AO(S

1

)

S2

Φ(S1)

R S1

WAO += W(S

1

) AO(S

1

)

サンプル

S

2の後

もし

Φ(S ) > Φ(S )

P

もし、

Φ(S

2

) > Φ(S

1

)

AO(S2) = sin Φ(S2) – sin t

WAO += W(S2) (AO(S2) - AO(S1))

P1

サンプリング方向

( 2) ( ( 2) ( 1)) サンプリング方向

(25)

減衰ありとなしの例

減衰あり 減衰なし

減衰あり W(r) = 1 - r2

減衰なし W(r) = 1

(26)

ノイズ

ピクセル毎のランダム化によるノイズ

ピクセル毎のランダム化によるノイズ

AO: 6 方向x 方向毎に6ステップ

(27)

Cross Bilateral Filter

AO

をぼかすをぼかす

深さ依存性のガウスのブラ

[Petschnigg et al. 04]

[Eisemann and Durand 04]

辺のぼかしが防止できる

厳密には、非分離型のフィルターだが、厳密 、非分離 ィ 、 方

X

方向と

Y

方向にそれぞれ与える

(28)

Cross Bilateral Filter

深さ依存 ぼか

深さ依存のぼかし

ぼかしフィルターなし 15x15のぼかしフィルター

(29)

半解像度の

AO

AOはほとんど低周波数

AOはほとんど低周波数

半解像度の描画も可能

半解像度の深さイメージを読み込む半解像度の深さイメ ジを読み込む

ぼかし処理は、まだ全解像度を対象にする

辺での色滲みを防止する

目上の深さを全解像度で読み込む

[Kopf et al. 07]

(30)

描画パイプライン

不透明モデルの描

AO 描画

目空間の法線 目空間の深さ Unprojectionのパラメーター (fovyとアスペクト比)

AOの描画

(全解像度または半分)

目空間上の半径 R 方向の数

方向当たりのステップ数

X上、 AOをぼかす 角度バイ角度バイアス

Kernel 半径 Spatial sigma Y上、AOをぼかす

Spatial sigma Range sigma

色の調整

(31)

デモ

(32)

パフォーマンス

主な要因主な要因

スクリーンの解像度

アンビエントオクルージョンの解像度解像度

サンプル数 (方向 * ステップ)

ぼかしフィルターの大きさ

(33)

半解像度の

AO

イメージサイズ 1600x1200

AO解像度 800x600

ぼかし解像度 1600x1200

半解像度 AO GeForce  GTX 280 ジオメトリ 1.0 ms

ぼかし解像度

AO 3.5 ms

ぼかし 2.5 ms

合計 7.0 ms

143 fps 143 fps

6 directions per pixel 6 steps per direction 15x15 Blur Size

(34)

全解像度の

AO

イメージサイズ 1600x1200 AO 解像度 1600x1200 Blur 解像度解像度 1600x1200

Full‐Res AO GeForce GTX 280 Geometry 1.0 ms

AO 30.0 ms

Blur 2.5 ms

Total 33.5 ms

30 fps 30 fps

6 方向/ピクセル 6 ステップ/方向

15x15 ぼかしのサイズ

(35)

半解像度のAO

6x6 サンプル/ AO ピクセル Blurなし

AO = 3.5 ms @ 800x600 GeForce GTX 280

Blurなし

(36)

AO = 3.5 ms @ 800x600

Blur = 2.5 ms @ 1600x1200

半解像度のAO

6x6 サンプル/ AO ピクセル 15x15 Blur

GeForce GTX 280

15x15 Blur

(37)

全解像度のAO

6x6 サンプル/ AO ピクセル 15 15 Bl

AO = 30 ms @ 800x600

Blur = 2.5 ms @ 1600x1200

15x15 Blur GeForce GTX 280

(38)

全解像度のAO

16x16 サンプル/ピクセル 16x16 サンプル/ピクセル Blurなし

(39)

全解像度のAO

16 32 サンプル/ピクセル 16x32 サンプル/ピクセル Blurなし

(40)

結論

サ プ

DirectX10 SDK

のサンプル

developer.nvidia.comにて配信中

ビデビデオと技術白書も

ゲームエンジンに組み込みやすい!

入力

=

目空間上の深さと法線

後処理のパスで描画する

更に詳しくは、

ShaderX

7

(

掲載予定

)

(41)

Medusa

デモ

(42)

Acknowledgments

NVIDIA

NVIDIA

Rouslan Dimitrov, Samuel Gateau, Michael Thompson, Ignacio Castano the demo team

Ignacio Castano, the demo team

Models

Dragon - Stanford 3D Scanning Repositoryg g p y

Sibenik Cathedral - Marko Dabrovic

(43)

Q&A

bdudash@nvidia com ドのサンプルの以下のアドレスまで [email protected] [email protected] コードのサンプルの以下のアドレスまで

http://developer.nvidia.com

(44)

ありがとう ありがとう ございました ざ ました !

10:40 - 12:00

Displacement Subdivision Surfaces in DX11p

Takayuki Kazama

13:00 - 14:20

G C

GPU Physics and CUDA

Kitty Vongsay

14:50 16:10 14:50 - 16:10

Real time Hair Rendering

Bryan Dudash

16:40 - 18:00

Horizon Based Ambient Occlusion

Bryan Dudash

developer.nvidia.com

(45)

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, 45 56.

[Landis 02] Landis, 2002. “Production-Ready Global Illumination,”

I ACM SIGGRAPH C #16 In ACM SIGGRAPH Course #16.

[Christensen 03] Christensen, P. H. 2003. “Global illumination and all that”. In ACM SIGGRAPH Course 9.

(46)

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 2004

image pairs. ACM SIGGRAPH 2004.

[Schüler 05] Christian Schüler, 2005. “Eliminate surface acne with gradient shadow mapping”, ShaderX4: Advanced Rendering

T h i

Techniques.

[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.

(47)

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 games Interactive 3D graphics and games.

[Kopf et al. 07] Johannes Kopf, Michael F. Cohen, Dani Lischinski, Matt Uyttendaele, “Joint Bilateral Upsampling”, SIGGRAPH '07:

ACM SIGGRAPH 2007

ACM SIGGRAPH 2007 papers.

[Fox and Compton 08] Megan Fox and Stuart Compton, “Ambient Occlusive Crease Shading”, Game Developer Magazine, March g , p g , 2008.

(48)

目空間上の位置を計算する

座標(u,v)にあるサンプルのS だと

unproject uv

snap s,t x,y

目空間 uv 空間

st

ピクセルの中央点に移動させる

u,v snap s,t

to s,t

テクス チャー 読み込み

z

ピクセルの中央点に移動させる

読み込み

再構築の再構築

(x,y) ( ,y)

とサンプルのサン

z

のすれ違いを防止するたすれ違 を防 する め、

uv

を移動させる

(49)

接線角度

接線角度の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(θ)

参照

関連したドキュメント

Key words: X-ray stress measurement, Composite material, X-ray elastic constants, Micromechanics, Residual stress, Experimental stress analysis.. X‑ray

Medical diagnostic X-ray equipment- Characteristics of digital imaging devices-Part 3: Characteristics of digital X-ray imaging devices-Part 1-3 : Determination of the detective

We intend to find the condition of the plasma in order to account for the observed flux ratio ( F RRC /F line ), which is free from specific modeling with iron abundance, the

and availability of reference materials, each method has merits and demerits. Although gamma-ray spectrometry does not require chemical separation before a measurement, a

Whereas tube voltages and HVLs for these four X-ray units did not significantly change over the 103-week course, the outputs of these four X-ray units increased gradually as

The general method of measuring the half-value layer (HVL) for X-ray computed tomography (CT) using square aluminum-sheet filters is inconvenient in that the X-ray tube has to be

First three eigenfaces : 3 個で 90 %ぐらいの 累積寄与率になる.

READ UNCOMMITTED 発生する 発生する 発生する 発生する 指定してもREAD COMMITEDで動作 READ COMMITTED 発生しない 発生する 発生する 発生する デフォルト.