【问题标题】:OPENGL c++ animated particlesOPENGL c++ 动画粒子
【发布时间】:2015-04-17 02:54:16
【问题描述】:

所以我在这里使用该项目:http://www.opengl-tutorial.org/intermediate-tutorials/billboards-particles/particles-instancing/#Animated_particles

作为我的粒子系统的基础。该页面下方大约 2/3 处显示:

“走得更远

动画粒子

您可以使用纹理图集为粒子的纹理设置动画。将每个粒子的年龄与位置一起发送,然后在着色器中计算 UV,就像我们在 2D 字体教程中所做的那样。纹理图集如下所示:"

现在我想要的是如何将每个粒子的年龄单独发送到着色器?由于粒子都是一起实例化的,着色器不会收到所有粒子的单一年龄吗?

【问题讨论】:

  • 发送每个粒子的年龄以及每个粒子的位置。
  • 我该怎么做?另一个 VBO?
  • 是的,您可以在着色器中使用另一个带有新属性变量的 vbo。我建议使用属性变量来保存创建时间并使用新的制服来保存当前时间,这样您只需要在创建新粒子而不是每帧时更新 vbo。

标签: c++ opengl system particles


【解决方案1】:

程序员杰克写道:

是的,您可以使用另一个带有新属性变量的 vbo 着色器。我建议使用属性变量来保存 创建时间并使用新制服来保存当前时间,以便您 只需要在创建新粒子时更新 vbo 而不是每一帧。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多