Nvidia 在開發社群邁出了重要一步,完全開源了其 PhysX 和 Flow SDK,包括之前專有的 GPU 模擬核心。這一舉措代表了 Nvidia 物理模擬技術方法的重大轉變,可能為老遊戲注入新生命,同時為開發者創造機會,在各種平臺上實現自定義實現。
完整的開源釋出
Nvidia 現已將 PhysX 和 Flow 的完整原始碼以寬鬆的 BSD-3 許可證釋出。雖然 PhysX 的 CPU 端模擬程式碼自 2018 年末就已開源,但 GPU 模擬核心——支援硬體加速的核心元件——直到現在才開放。這次完整發布包括超過 500 個 CUDA 核心,支援高階圖形功能,如剛體動力學、流體模擬和可變形物體。此外,Nvidia 還發布了 Flow 的完整著色器實現,這是一個專注於火、氣體和煙霧等流體模擬效果的專業 SDK。
PhysX 和 Flow 現已在 BSD-3 許可證下開源,包括之前專有的 GPU 模擬核心
PhysX 和 Flow 的實際功能
PhysX 是一個即時物理引擎,它將複雜計算解除安裝到 GPU,透過 Nvidia 的 CUDA 平臺利用其並行處理能力。這項技術已在 2010 年代的眾多遊戲中實現,包括 Mirror's Edge、Batman: Arkham Asylum、Metro 2033 和 Borderlands 2。而 Flow 則是一個更專業的 SDK,專為流體模擬力學設計,可在即時應用中建立逼真的火焰、煙霧和氣體效果。
PhysX 擁有超過500個 CUDA 核心,支援剛體動力學、流體模擬和可變形物體
對傳統遊戲的影響
這次釋出的時機對於 Nvidia 新的 Blackwell GPU(包括 RTX 50 系列)使用者尤為重要。Nvidia 最近在這些 GPU 上停止了對 32 位 CUDA 的支援,這導致依賴 32 位 PhysX 實現的老遊戲出現效能問題。當這些遊戲在 Blackwell GPU 上執行時,物理計算會回退到 CPU,顯著降低效能。隨著原始碼的開放,修改者可能開發相容層,使這些傳統遊戲能夠在新硬體上正確利用 PhysX 加速。
開源可能會為在 Blackwell GPU(RTX 50 系列)上執行32位 PhysX 遊戲提供相容性解決方案
更廣泛的潛在應用
隨著完整原始碼的開放,開發者獲得了前所未有的機會來修改和構建這些庫。雖然從技術上講,將 PhysX 和 Flow 從 CUDA 解耦並移植到 OpenCL 或 Vulkan 等硬體無關平臺(可能支援 AMD 和 Intel GPU)是可行的,但這種工作將極其複雜。除遊戲外,獲取這些 GPU 核心和著色器模擬程式碼可能對圖形工程、機器人技術、建築設計和動畫等領域產生深遠影響。
PhysX 在遊戲中的未來
儘管進行了這次開源釋出,值得注意的是,PhysX 在現代遊戲開發中被廣泛視為一種傳統技術。較新的引擎,如帶有 Chaos Physics 引擎的 Unreal Engine 5,已經在很大程度上取代了 PhysX。該技術支援約 1,000 款遊戲,其中大多數需要 Nvidia GPU 才能正確渲染高階物理效果。一些專業遊戲玩家甚至安裝了次級低成本 Nvidia GPU 專門處理 PhysX 計算,同時使用較新的 RTX 50 卡進行主要渲染。
PhysX 在大約1,000款遊戲中得到支援,其中大多數需要 Nvidia GPU 來進行硬體加速
社群反應和潛力
開發者和修改社群對這一公告反應積極,將其視為延長老遊戲壽命並可能建立更通用物理模擬技術實現的機會。透過完全訪問原始碼,開發者現在可以研究、修改和最佳化這些庫以適應特定用例,可能導致超出 Nvidia 最初設想的創新應用。