看了CUDA书有一段时间,但一直未能下手写代码。前一段读了SDK中的simpleGL的例子,终于觉得可以开始了:
2012.3.22: CUDA 2D LBM 完成,通过修改simpleGL用顶点数组储存所有属性,成功模拟了浅水方程:
512X512 实时
2012.3.23: CUDA 3D LBM 完成,将2D扩展到3D通常是比较简单的:
此时3D的效果图只能是由一堆点组成的长方体,这边就不放了..
2012.4.2: CUDA 3D LBM smoke 完成,正好需要做烟,原本的CPU程序在粒子多的时候就吃不消了,因此就转到之前的 CUDA 3D LBM,加入粒子来模拟烟雾。方法是创建另一个VBO,只存放粒子的属性,LBM和PAR分别演化:
LBM: 64X64X64 PAR:32X32X512 上下为周期边界 实时
下一个目标修改 CUDA 2D LBM 将着色器加入,实时绘制真实感效果...