基於PhysX的流體模擬

2021-04-20 14:40:59 字數 564 閱讀 5044

physx作為全球最優秀的物理引擎之一,在被顯示卡老大nvidia公司收購之後,越來越受到人們的關注。前不久,nvidia公司發布了乙個支援physx cuda的顯示卡驅動,從而正式向世人宣告,乙個用顯示卡來進行物理加速的時代將要到來。

我們來看一下如何用physx開發包,來實現流體的模擬。

physx開發包中自帶有流體模擬的部分,在它的示例中我們可以找到相關的例子,而且這流體還是基於sph的,但是我們會發現它的例子只實現了流體的粒子模擬,而由粒子轉換成網格的部份,則要我們自已來實現了。如圖:

由粒子生成網格,通常都是用marching cube或者metaball變形球技術,這個技術老外提出來都有幾十年了,網上也有很多相關的資料,你如果對它的原理有興趣,不防深入去學習一下。

關於marching cube技術呢,大家可以看一下,nvidia的《gpu gems 3》裡面第一章的《generating complex procedural terrains using the gpu

》就詳細介紹了這方面的技術。http://http.developer.nvidia.com/gpugems3/gpugems3_ch01.html

PhysX流體筆記

physx流體筆記之發射器 發射器用於直接建立流體粒子,可以實現模擬水龍頭 噴嘴 流血的傷口等。它有兩種模式 第一種,常壓力 constant pressure 發射粒子的壓力是固定的,水射出一條線可以用這個模擬。第二種,常流速 constant flow rate 發射器在每幀保持發射固定數量的粒...

PhysX流體筆記之建立粒子

將physx文件按自己的語言組織了一遍。純粹隨筆性質。建立粒子的描述符是nxfluiddesc,方法有三種 一是直接指定粒子的初始位置和速度,二是使用發射器建立,三是使用nxparticledata和nxfluiddesc initialparticledata,傳遞初始的粒子狀態來建立。如果不希望...

模擬撞擊 流體流動聲音的模擬

流體流動點的應聲是否也可以模擬呢?國外的小夥伴通過以計算流體力學為基礎找到了一種新的方法來合成液體聲音。液體產生的聲音主要是由於介質中氣泡的共振產生的。他們的方法是將基於物理的氣泡共振方程與實時淺水流體模擬以及基於sph網格的混合模擬進行耦合求解,以實現自動聲音合成。在 潰壩 模擬場景中,使用五種球...