为了一门图形课程,我们正在WebGL中实现一个粒子系统。在JavaScript中进行粒子模拟计算会非常慢,我们的教授希望我们在GPU上进行粒子模拟。
为了进行这个粒子模拟,我想象我们上传一个顶点缓冲区,其中包含我们的粒子数据(位置、速度、质量等),然后让我的顶点着色器对模拟进行一些数学计算,并将结果写入不同的顶点缓冲区,表示粒子的下一个状态。然后我可以使用不同的渲染着色器程序使用
这似乎是一种叫做“变换反馈”的技术,我从这里学到了它:http://open.gl/feedback 然而,据这篇博客文章所说,WebGL目前似乎没有包括变换反馈。它说变换反馈将随着WebGL 2.0一起推出。事实上,当我尝试像
如果变换反馈不可用,我应该如何在WebGL中进行粒子模拟?
为了进行这个粒子模拟,我想象我们上传一个顶点缓冲区,其中包含我们的粒子数据(位置、速度、质量等),然后让我的顶点着色器对模拟进行一些数学计算,并将结果写入不同的顶点缓冲区,表示粒子的下一个状态。然后我可以使用不同的渲染着色器程序使用
gl.POINTS
渲染我的粒子。这似乎是一种叫做“变换反馈”的技术,我从这里学到了它:http://open.gl/feedback 然而,据这篇博客文章所说,WebGL目前似乎没有包括变换反馈。它说变换反馈将随着WebGL 2.0一起推出。事实上,当我尝试像
gl.beginTransformFeedback;
这样的语句时,我会得到一个错误,提示该方法未定义。如果变换反馈不可用,我应该如何在WebGL中进行粒子模拟?