Gゼミ 2009/12/25 発表者 渡辺健人 内容 BVHとの交差判定の高速化

Gゼミ
2009/12/25
発表者 渡辺健人
内容
•
BVHとの交差判定の高速化について
BVH
レイ
境界ボックス0
球C
境界ボックス2
1
球A
2
3
球D
左図のBVHは下記
のようになる
境界ボックス0
境界ボックス1
球B
境界ボックス1
境界ボックス2
4
(A,B)
現状では交差点1,2,3,4を求める際に常に境
界ボックス0から交差判定を行っている
(C,D)
BVHとの交差判定法 方法1


曲面の存在しうる区間を求めるときに、1回前のB
VHとの交差判定時の情報を使う
具体的には、



まず、最初にレイと交差した球を含む葉ノードとそのと
きのスタックを保存しておく
最後までBVHをたどり、曲面の存在しうる区間が求ま
ったら、その区間で曲面との交差判定を行う
失敗した場合、次の区間を求める時には、開始ノードを
保存されていたノードにし、スタックも復元した状態で、
球との交差判定を再開すればよい
BVHとの交差判定法 方法2



球とのBVHをたどるときに球との交差点をソートし
ながらたどる
あるノードに到達した際に、現在求まっている球と
の交差点の中で、そのノード以降でそれより近い交
差点がでないとわかるものは順序が確定する
そこで、確定した交差点間で曲面との交差判定を
行い


交差したら、終了
交差しなかったら、現在のノードから球との交差判定を
再開する
これからの方針

球との交差判定について


方法1、方法2を実装してみる
曲面との交差判定について

ベジェクリッピング以外の方法、例えば、セカント法とか
を実装してみる