【问题标题】:efficient usage of vbo for 2d sprites[opengl/android]vbo 对 2d sprites 的有效使用[opengl/android]
【发布时间】:2014-02-01 22:55:28
【问题描述】:

这些天我正在开发自己的游戏引擎,我希望尽可能提高渲染过程的效率。使用“即时模式”,我发现实现我想要包含的功能非常容易。

这是列表:

  • 变换(平移、旋转、缩放、枢轴)
  • 育儿(子精灵受父精灵的影响,例如变换)
  • 简单的矢量图形 - 现在这不是那么重要了
  • 深度管理

但是对于 VBO 和着色器,很难确定一个好的渲染结构。起初我将四个顶点放在一个 VBO 中并用矩阵(gluniform)对其进行转换,但很多人说这是最糟糕的方式。所以,我想听听您关于有效实现这些功能以及我应该如何使用 VBO 的一般想法。

【问题讨论】:

    标签: java 2d opengl-es-2.0 sprite vbo


    【解决方案1】:

    您可以拥有一个用于所有精灵的方形 VBO,方法是缩放其宽度和高度,并使用矩阵对其进行转换,并为每个精灵绑定正确的纹理。子精灵可以将它们的矩阵与其父精灵的矩阵相乘。深度管理可以通过深度缓冲区完成,只需 glEnable(GL_DEPTH_TEST) 和 GL_LEQUAL 深度函数,并沿 z 轴转换到您想要绘制的图层。无论如何,您可能甚至不需要担心如何以最好和最快的方式只为 2D 精灵做所有事情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多