问题描述
||
我想在Android上绘制一个粒子系统,其中粒子从指定点连续流动。
没有着色器,我可以通过检查粒子的寿命来实现。如果寿命为零,则将位置重置到中心。
如何使用着色器实现相同的效果?
我用了一个寿命变量来跟踪粒子是否还活着。
一旦粒子死了,我想在指定点附近重新定位粒子。
每个粒子的寿命都是随机的,
有什么我可以使用着色器实现的方法吗?
为了使我的问题易于理解,例如,我想与Shader一起实施NeHe第19课(请参阅第19课的DrawGLScene)。
我的工作的完整代码可以在下面找到以供参考
1)无阴影
2)带明暗器
解决方法
谢谢大家,
在为总休息日奋斗之后,我找到了解决方案...
现在我正在基于时间在顶点着色器中进行所有计算
我正在计算粒子死亡的时间
和mod与当前时间
将给出修改后的时间范围...
基本上每个粒子都会再次生存
可以在以下位置找到代码
谷歌代码目录
感谢所有尝试解决我的问题的人
,例如,您必须在每个绘图中更新Draw函数中的分词的生命周期,然后将其传递给带有
GLES20.glVertexAttribPointer
的着色器,例如\“attribute float a_lifetime;
\”。
看看这个来源