AMD 最近展示一項光線追蹤研究技術,專門解決大量動畫幾何做 Ray Tracing 時,BVH 太肥、更新太慢的問題。AMD 透過稱為 Tetrahedral Cages(四面體 Cage) 的方法,讓大量獨立動畫三角形不需要各自維護與更新 BVH,大幅降低記憶體與運算開銷。
AMD Fellow Holger Gruen 在最近於 GPUOpen 的文章中展示這項技術,測試場景是一大片包含約 25,000 株、各自獨立動畫植物的地形。若全部以最高 LOD 計算,這些植物總共約有 28 億個三角形;經過 LOD 選擇後,每幀仍有約 5 億個動畫三角形需要進行光線追蹤,包含主要光線與陰影光線。

這個場景最後是在 1080p 解析度下,以 Radeon RX 9070 XT 跑到 60 FPS 以上。不過真正有意思的地方並不是 5 億三角形本身,而是 AMD 如何處理這麼多動畫幾何所需要的 BVH。
傳統 Ray Tracing 做法會替每個獨立動畫物件建立自己的 Bottom-Level Acceleration Structure(BLAS),當物件變形或移動時,相關 BVH 也需要跟著更新。場景裡如果只有幾個角色當然沒什麼,但當數量變成幾萬株植物、數億個三角形時,光是更新這些加速結構就可能先把 GPU 拖死。
AMD 的方法則是把大量細密幾何包在比較簡單的可變形四面體 Cage裡。動畫時,不直接去修改裡面的每個頂點,也不需要重新建立密集幾何的 BVH,而是讓外層的 Cage 動起來,原本的高密度幾何與 BVH 維持不變。

進行光線追蹤時,再把 Ray 轉換回原始幾何的參考座標系,利用那套沒有變動的幾何與加速結構完成相交測試。
從 AMD 的測試結果來看,有不小差距:
在這個測試案例裡,BVH 所需記憶體從最多約 80GB 降到 1.7GB,大約少了 47 倍;每幀更新時間則從超過 300ms 降到約 3.3ms,差距超過 90 倍。
這對 Ray Tracing 來說相當重要。因為真正讓大量動畫場景難以即時光追的問題,不一定只是三角形太多,而是這些幾何還會不停變動,導致加速結構也必須跟著更新。AMD 這套方法等於把最昂貴的那一部分盡量固定下來,只讓相對簡單的 Cage 負責動畫。
當然,這種做法也不是什麼動畫都適合。四面體 Cage 比較適合大量細碎、外觀相似,而且不需要精確控制每個頂點的物件,例如樹葉、草地、植被、遠處人群與角色等。如果是需要精確肌肉變形、複雜拓撲變化,或每個頂點都必須獨立控制的模型,就不一定適合這套方法。
這項研究來自 AMD 的 Ray Tracing Massive Amounts of Animated Geometry 論文,並在 High-Performance Graphics 2026 獲得 Wolfgang Straßer Best Paper Award 第三名。AMD 目前也正在準備 DirectX Raytracing(DXR)範例,以及一套 header-only C++ library,讓開發者可以把這項技術整合進自己的渲染流程。
目前這仍然是研究展示,並不是已經出現在遊戲裡的現成功能,所以不能直接理解成RX 9070 XT 已經可以在遊戲中光追 5 億三角形。不過從測試結果來看,AMD 確實找到了一種相當有效的方式,把大量動畫幾何的 BVH 更新成本壓下來。
如果未來這類技術真的被遊戲引擎採用,像是大量草木、森林、群眾這種場景,就有機會在不塞進幾十 GB VRAM 給 BVH 的情況下加入更完整的 Ray Tracing。畢竟 80GB 光是拿來放 BVH,這已經不是顯卡 VRAM 夠不夠的問題,而是拿這種成本為了光追的意義何在。
AMD Fellow Holger Gruen 在最近於 GPUOpen 的文章中展示這項技術,測試場景是一大片包含約 25,000 株、各自獨立動畫植物的地形。若全部以最高 LOD 計算,這些植物總共約有 28 億個三角形;經過 LOD 選擇後,每幀仍有約 5 億個動畫三角形需要進行光線追蹤,包含主要光線與陰影光線。

這個場景最後是在 1080p 解析度下,以 Radeon RX 9070 XT 跑到 60 FPS 以上。不過真正有意思的地方並不是 5 億三角形本身,而是 AMD 如何處理這麼多動畫幾何所需要的 BVH。
傳統 Ray Tracing 做法會替每個獨立動畫物件建立自己的 Bottom-Level Acceleration Structure(BLAS),當物件變形或移動時,相關 BVH 也需要跟著更新。場景裡如果只有幾個角色當然沒什麼,但當數量變成幾萬株植物、數億個三角形時,光是更新這些加速結構就可能先把 GPU 拖死。
AMD 的方法則是把大量細密幾何包在比較簡單的可變形四面體 Cage裡。動畫時,不直接去修改裡面的每個頂點,也不需要重新建立密集幾何的 BVH,而是讓外層的 Cage 動起來,原本的高密度幾何與 BVH 維持不變。

進行光線追蹤時,再把 Ray 轉換回原始幾何的參考座標系,利用那套沒有變動的幾何與加速結構完成相交測試。
從 AMD 的測試結果來看,有不小差距:
| 項目 | 傳統密集三角形 BLAS | Tetrahedral Cages |
|---|---|---|
| BVH 記憶體 | 最多約 80GB | 約 1.7GB |
| 每幀 BVH 更新時間 | 超過 300ms | 約 3.3ms |
| LOD 後動畫三角形 | 約 5 億 | 約 5 億 |
在這個測試案例裡,BVH 所需記憶體從最多約 80GB 降到 1.7GB,大約少了 47 倍;每幀更新時間則從超過 300ms 降到約 3.3ms,差距超過 90 倍。
這對 Ray Tracing 來說相當重要。因為真正讓大量動畫場景難以即時光追的問題,不一定只是三角形太多,而是這些幾何還會不停變動,導致加速結構也必須跟著更新。AMD 這套方法等於把最昂貴的那一部分盡量固定下來,只讓相對簡單的 Cage 負責動畫。
當然,這種做法也不是什麼動畫都適合。四面體 Cage 比較適合大量細碎、外觀相似,而且不需要精確控制每個頂點的物件,例如樹葉、草地、植被、遠處人群與角色等。如果是需要精確肌肉變形、複雜拓撲變化,或每個頂點都必須獨立控制的模型,就不一定適合這套方法。
這項研究來自 AMD 的 Ray Tracing Massive Amounts of Animated Geometry 論文,並在 High-Performance Graphics 2026 獲得 Wolfgang Straßer Best Paper Award 第三名。AMD 目前也正在準備 DirectX Raytracing(DXR)範例,以及一套 header-only C++ library,讓開發者可以把這項技術整合進自己的渲染流程。
目前這仍然是研究展示,並不是已經出現在遊戲裡的現成功能,所以不能直接理解成RX 9070 XT 已經可以在遊戲中光追 5 億三角形。不過從測試結果來看,AMD 確實找到了一種相當有效的方式,把大量動畫幾何的 BVH 更新成本壓下來。
如果未來這類技術真的被遊戲引擎採用,像是大量草木、森林、群眾這種場景,就有機會在不塞進幾十 GB VRAM 給 BVH 的情況下加入更完整的 Ray Tracing。畢竟 80GB 光是拿來放 BVH,這已經不是顯卡 VRAM 夠不夠的問題,而是拿這種成本為了光追的意義何在。









