Download - 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法
![Page 1: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/1.jpg)
階層的境界ボリュームを用いた陰関数曲面の高速なレイトレーシング法
西田研究室 渡辺健人
![Page 2: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/2.jpg)
発表の流れ
研究の背景・目的 関連研究 提案法 結果 まとめと今後の課題
![Page 3: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/3.jpg)
発表の流れ
研究の背景・目的 関連研究 提案法 結果 まとめと今後の課題
![Page 4: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/4.jpg)
研究の背景 レイトレーシング
3次元シーン上での視線の経路を追跡することでリアルな画像が生成できる
欠点:計算コストが大きい
[Wald06]
![Page 5: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/5.jpg)
研究の背景(2) 陰関数曲面
少数のプリミティブでなめらかな曲面を表現できる
直接描画することで正確に曲面を表現可能ここではメタボールを扱う
[Knoll07]
![Page 6: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/6.jpg)
研究の目的 多数のメタボールに対する高速なレイトレーシング方法の開発 多数のメタボールに対するレイキャスティングはあるが、レイトレーシングはない
レイトレーシングは計算コストが高いので高速化が必要
屈折1回のみ 3回まで屈折を追跡
![Page 7: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/7.jpg)
発表の流れ
研究の背景・目的 関連研究 提案法 結果 まとめと今後の課題
![Page 8: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/8.jpg)
関連研究(1) レイトレーシング
再帰的にレイの経路を追跡することで、反射、屈折、影などの現象を扱う手法 [Whitted 1980]
大規模なシーン向けの高速化 Bounding Volume Hierarchy(BVH),kd-tree などの空間デー
タ構造を用いた手法 [Wald 2007]
[Whitted80]
[Wald07]
![Page 9: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/9.jpg)
関連研究(2) 陰関数曲面
任意の陰関数曲面のレイトレーシング [Knoll et al. 2007]
長所:任意の陰関数曲面を扱える 短所: 区間演算法を用いているので計算量が大
きい 多数の動的なメタボールのレイキャスティング
を GPU で高速化 [Kanamori et al. 2008] 長所:大量の動的なメタボールをリアルタイムで描画可
能 短所:反射、屈折などは1回までしか扱えない
[Knoll07]
[Kanamori08 ]
![Page 10: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/10.jpg)
メタボールとは 空間上に配置された密度を持った球 各球の密度を足してできる密度場の等値面によって表現される陰関数曲面
![Page 11: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/11.jpg)
メタボールとの交差判定 [Nishita et al. 1994] の方法による
メタボールの曲面は球内にのみ存在する 球との交差判定行い、球内でのみ曲面との交
差判定( BezierClipping) を行う さらに、曲面との正しい交点を効率よく求
めるために球内でも交差判定を行う範囲を分ける
![Page 12: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/12.jpg)
メタボールとの交差判定
![Page 13: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/13.jpg)
メタボールとの交差判定
![Page 14: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/14.jpg)
メタボールとの交差判定
![Page 15: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/15.jpg)
メタボールとの交差判定
![Page 16: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/16.jpg)
メタボールとの交差判定
![Page 17: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/17.jpg)
メタボールとの交差判定
![Page 18: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/18.jpg)
発表の流れ
研究の背景・目的 関連研究 提案法 結果 まとめと今後の課題
![Page 19: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/19.jpg)
提案法
メタボールの交差判定でのボトルネックは区間を求めるための球との交差判定部分 球との交差判定の高速化に2分木の空間データ構造である BVHを用いる
区間の求め方を2種類検討した 1区間ずつを高速に求める 1度に複数区間求めることで高速化
![Page 20: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/20.jpg)
レイと球との交差判定
レイと球との交差判定 空間データ構造なしの場合: レイとすべての球との交差判定を行い、最も近い交点を求める
BVHを用いれば高速化できる プリミティブ(今回は球)の集合をつつむ領域による2分木構造
![Page 21: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/21.jpg)
BVH
![Page 22: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/22.jpg)
BVH
![Page 23: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/23.jpg)
BVH
![Page 24: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/24.jpg)
BVHを用いた球との交差判定
Stack
A
CB
ED F G
![Page 25: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/25.jpg)
BVHを用いた球との交差判定
Stack
A
CB
ED F G
![Page 26: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/26.jpg)
BVHを用いた球との交差判定
Stack
A
CB
ED F G
![Page 27: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/27.jpg)
BVHを用いた球との交差判定
Stack
A
CB
ED F G
![Page 28: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/28.jpg)
BVHを用いた球との交差判定
Stack
A
CB
ED F G
D
![Page 29: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/29.jpg)
BVHを用いた球との交差判定
Stack
A
CB
ED F G
![Page 30: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/30.jpg)
球との交差判定 (2回目)
Stack
A
CB
ED F G
![Page 31: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/31.jpg)
球との交差判定 (2回目)
Stack
A
CB
ED F G
![Page 32: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/32.jpg)
球との交差判定 (2回目)
Stack
A
CB
ED F G
![Page 33: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/33.jpg)
球との交差判定 (2回目)
Stack
A
CB
ED F G
![Page 34: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/34.jpg)
曲面との交差判定
Stack
A
CB
ED F G
求まった交点間で曲面との交差判定を行う 交点が求まらなければ、球との交差判定をもう一度行う
![Page 35: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/35.jpg)
方法1
同じレイで BVHを複数回たどると余分な交差判定を繰り返すことになる
2回目以降は交差判定が必要なノードから判定を開始 経路は基本的に同じなので、最初に球と交差したノードとスタック
![Page 36: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/36.jpg)
BVHを用いた球との交差判定
Stack
A
CB
ED F G
![Page 37: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/37.jpg)
BVHを用いた球との交差判定
Stack
A
CB
ED F G
![Page 38: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/38.jpg)
BVHを用いた球との交差判定
Stack
A
CB
ED F G
![Page 39: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/39.jpg)
BVHを用いた球との交差判定
Stack
A
CB
ED F G
D
![Page 40: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/40.jpg)
BVHを用いた球との交差判定
Stack
A
CB
ED F G
![Page 41: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/41.jpg)
球との交差判定 (2回目)
Stack
A
CB
ED F G
![Page 42: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/42.jpg)
球との交差判定 (2回目)
Stack
A
CB
ED F G
![Page 43: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/43.jpg)
球との交差判定 (2回目)
Stack
A
CB
ED F G
![Page 44: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/44.jpg)
球との交差判定 (2回目)
Stack
A
CB
ED F G
![Page 45: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/45.jpg)
球との交差判定 (2回目)
Stack
A
CB
ED F G
![Page 46: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/46.jpg)
方法2
複数の区間を1度に求める 最も単純な方法
全交点を求め、ソートすれば全区間が求まる BVHを用いれば、レイに近い順の交点を部分的に求められる
交点を順次ソートしながらたどる スタックに積む際にノードをソートしながら積む
![Page 47: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/47.jpg)
BVHを用いた球との交差判定
Stack
A
CB
ED F G
![Page 48: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/48.jpg)
BVHを用いた球との交差判定
Stack
A
CB
ED F G
![Page 49: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/49.jpg)
BVHを用いた球との交差判定
Stack
A
CB
ED F G
B
![Page 50: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/50.jpg)
BVHを用いた球との交差判定
Stack
A
CB
ED F G
B
![Page 51: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/51.jpg)
BVHを用いた球との交差判定
Stack
A
CB
ED F G
![Page 52: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/52.jpg)
BVHを用いた球との交差判定
Stack
A
CB
ED F G
![Page 53: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/53.jpg)
BVHを用いた球との交差判定
Stack
A
CB
ED F G
D
![Page 54: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/54.jpg)
BVHを用いた球との交差判定
Stack
A
CB
ED F G
![Page 55: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/55.jpg)
BVHを用いた球との交差判定
Stack
A
CB
ED F G
![Page 56: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/56.jpg)
結果
実行環境 Core 2 Duo 2.00GHz, Memory 2GB 2スレッドで計算
画像サイズは 640x480
![Page 57: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/57.jpg)
実行時間のグラフ (時間はsec)
ランダムに生成した球に対する結果で、屈折を3回まで
![Page 58: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/58.jpg)
実行時間のグラフ (時間はsec)
ランダムに生成した球に対する結果で、反射を3回まで
![Page 59: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/59.jpg)
結果 例120個のメタボールに対して4回まで反射を考慮(0.23sec)
右図は左図の赤い部分の拡大図
![Page 60: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/60.jpg)
結果 例25000個のメタボールに対して3回屈折を考慮
![Page 61: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/61.jpg)
結果 例38351個のメタボールに対して3回屈折を考慮 (2.68sec)
![Page 62: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/62.jpg)
発表の流れ
研究の背景・目的 関連研究 提案法 結果 まとめと今後の課題
![Page 63: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/63.jpg)
今後の課題
球との交差判定のさらなる高速化 質の高い BVH の構築方法 GPU による実装
メタボール以外の陰関数曲面の描画 Sparse Low degree Implicit(SLIM) 曲面など
![Page 64: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/64.jpg)
まとめ
多数のメタボールに対する高速なレイトレーシング方法の提案 BVHを用いた密度球との交差判定の高速化 曲面が存在しうる区間を高速に求める方法を示した
方法1:1つの区間を求めることを高速化 方法2:1度に複数求めることによる高速化
BVHを使っただけの方法より、方法1では10~20%、方法2では3~4倍の高速化
![Page 65: 階層的境界ボリュームを用いた 陰関数曲面の高速なレイトレーシング法](https://reader036.vdocuments.site/reader036/viewer/2022062410/568157ef550346895dc567ea/html5/thumbnails/65.jpg)
ご清聴ありがとうございました