我有一个粒子系统,其中的位置和各种属性存储在顶点缓冲对象中。这些值由CUDA内核不断更新。目前,我只是使用GL_POINTS渲染它们作为平面圆圈。我想要的是将这些粒子渲染为更复杂的东西,比如3D动画鸟模型。我正在尝试找出最好的方法。假设鸟模型的动画由3帧组成(翅膀的位置等),我们可以循环遍历所有粒子,在翻译、旋转等矩阵操作后调用显示列表。但是这似乎不是一个理想的方法,因为它需要将所有粒子数据从GPU传输到主机,然后再将它们推回GPU(除非我能从CUDA内核中调用绘图函数?)。我对着色器了解不多,它们能处理这样的事情吗?
目前,我主要是寻求建议,但如果您知道任何涉及该主题的文章或教程,那就太好了。
我使用C++在Windows 7 64位上本地使用OpenGL,没有使用GLUT。
目前,我主要是寻求建议,但如果您知道任何涉及该主题的文章或教程,那就太好了。
我使用C++在Windows 7 64位上本地使用OpenGL,没有使用GLUT。