我想在Android上绘制粒子系统,粒子从指定点连续流动。 没有着色器我可以通过检查粒子的寿命来获得它。如果生命为零,则将位置重置为中心。
如何使用着色器实现相同的功能? 我使用生命周期变量来跟踪粒子是否存活。 一旦粒子死了,我想重新定位指定点周围的粒子。 这个生命周期对于每个粒子都是随机的, 有什么方法可以用着色器实现这一点吗?
让我的问题易于理解,例如我想用Shader实现 NeHe第19课 (请参阅第19课的DrawGLScene)....
我的工作的完整代码可以在下面找到以供参考
答案 0 :(得分:2)
Thanx所有人,
我在争取总共sat'day之后找到了解决方案......
现在我正在基于时间
在顶点着色器中进行所有计算我正在计算粒子死亡的时间 和当前时间的mod 将给出修改后的时间框架......
基本上每个粒子都会再次终身生存
代码可以在 google code directory
坦克一个人试图解决我的问题
答案 1 :(得分:0)
您必须在每次绘制时更新Draw函数中的分词LifeTime,然后将其作为“GLES20.glVertexAttribPointer
”以attribute float a_lifetime;
传递给它。
查看此来源SOURCE