基于PhysX的流体模拟

PhysX作为全球最优秀的物理引擎之一,在被显卡老大nVidia公司收购之后,越来越受到人们的关注。前不久,nVidia公司发布了一个支持PhysX CUDA的显卡驱动,从而正式向世人宣告,一个用显卡来进行物理加速的时代将要到来。

 

我们来看一下如何用PhysX开发包,来实现流体的模拟。

PhysX开发包中自带有流体模拟的部分,在它的示例中我们可以找到相关的例子,而且这流体还是基于SPH的,但是我们会发现它的例子只实现了流体的粒子模拟,而由粒子转换成网格的部份,则要我们自已来实现了。如图:

fluid

 

fluid

 

 

由粒子生成网格,通常都是用marching cube或者metaball变形球技术,这个技术老外提出来都有几十年了,网上也有很多相关的资料,你如果对它的原理有兴趣,不防深入去学习一下。

 

 

fluid

 

fluid

 

fluid

 

fluid

 

 

关于marching cube技术呢,大家可以看一下,NVIDIA的《GPU Gems 3》里面第一章的《Generating Complex Procedural Terrains Using the GPU
》就详细介绍了这方面的技术。http://http.developer.nvidia.com/GPUGems3/gpugems3_ch01.html

至于metaball,也有很多相关文章,看看这个:http://http.developer.nvidia.com/GPUGems3/gpugems3_ch07.html

 

------------------------------------------------

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页