AMDがレイトレのBVHメモリを80GBから1.7GBへ 草木を四面体ケージで包む
AMD の GPUOpen が9月17日付で、大量に揺れる草木をレイトレーシングするための手法「tetrahedral cages(四面体ケージ)」の解説を公開しました。密なメッシュを変形する四面体のケージで包み、元のジオメトリと BVH は静止したまま使い回すことで、加速構造のメモリを最大80GB から約1.7GB に、BVH の更新を毎フレーム300ms 超から約3.3ms に減らしています。

動かすのはケージだけ
従来の実装では、個別にアニメーションするオブジェクトごとに固有の頂点位置が生じるため、その状態を表す加速構造(BVH。レイと三角形の交差判定を速くする木構造)を作り直して保存する必要があります。四面体ケージでは、密なメッシュをそれよりずっと小さい変形可能な四面体のケージに閉じ込めます。密なジオメトリとその BVH は静止したまま使い回し、実行時に変形するのはケージだけです。レイの側を静止した座標系に戻してから密な三角形と交差させるため、アニメーションのコストは三角形数ではなくケージの複雑さだけで決まります。GPUOpen は、頂点ごとのアニメーション制御は失われるが多くのアニメーションではそれで構わない、としています。
デモの実測値
- 約25,000本の植物を個別にアニメーション。最大 LOD では計28億三角形、LOD 選択後は毎フレーム約5億の植物三角形をレイトレーシング
- プライマリレイとシャドウレイを使い、Radeon RX 9070 XT、1080p で60fps 以上
- BVH メモリは約1.7GB、BVH 更新は毎フレーム約3.3ms
- 同じシーンを従来の密な三角形 BLAS で更新する場合、同じ RX 9070 XT で最大80GB の GPU メモリと毎フレーム300ms 超が必要
クラスタ方式との住み分け
AMD は、クラスタ単位の加速構造も更新を速くしメモリを節約できるが、変形するジオメトリごとに固有のクラスタ加速構造を作って GPU メモリに置く必要がある、と整理しています。品質を最優先するアニメーションにはクラスタ方式が向き、四面体ケージは密な草木や群衆のように数が多くて頂点単位の精度が要らない対象に向く、という切り分けです。GPUOpen は、この手法を Microsoft DirectX Raytracing(DXR)と組み合わせられるとしています。論文「Ray Tracing Massive Amounts of Animated Geometry」は High-Performance Graphics 2026 で Wolfgang Straßer Award(ベストペーパー)の3位を受けました。解説を書いたのは AMD フェローの Holger Gruen です。
草木を増やす MOD は、この負荷がそのまま効いてくる領域です。Skyrim SE で草を差し替える定番は Origins Of Forest - 3D Forest Grass、Folkvangr - Grass and Landscape Overhaul、Veydosebrom Regions - A Skyrim Grass Overhaul の3本で、当サイトのブックマーク数はそれぞれ200件、130件、116件です。草を厚くすると fps が落ちるため、草の配置を事前に生成しておく Grass Cache Helper NG もブックマーク252件と多く登録されています。
- Origins Of Forest - 3D Forest Grass (Skyrim SE)
- Folkvangr - Grass and Landscape Overhaul (Skyrim SE)
- Veydosebrom Regions - A Skyrim Grass Overhaul (Skyrim SE)
- Grass Cache Helper NG (Skyrim SE)
既に MOD を入れている人へ: 四面体ケージはゲームエンジン側で実装する技術です。既存の MOD に今すぐ効くものではありません。