LWJGL - 如果我使用VBO,我可以对单独的纹理做些什么?

时间:2013-07-19 19:44:50

标签: java sprite lwjgl vbo vertex-shader

所以基本上这是我的问题: 我正在创建一个需要每个对象纹理的游戏。现在我会使用精灵表,但纹理大小不同。我正在使用VBO,我需要在调用drawElements时如何绑定正确的纹理。现在我不知道该怎么办,因为我不想将每个类分成它自己的VBO,因为这样只会使它像每个级别的100+ VBO那样效率不高(或者可能是这样?) 请注意,这是一款2D游戏,但我仍然希望提高效率。

也许我可以用着色器做一些事情?我正在使用着色器......

这是我的问题: 我该怎么做?

我想出的事情:

  • 将班级分为不同的VBO(简单但我不确定是否非常有效)
  • 使用精灵表但有一个非常大的单元格,然后只绘制具有透明背景的大四边形..(看起来像一个愚蠢的想法:P)

多数民众赞成......所以我希望你有想法!

编辑: 我读了一些可能具有要使用的纹理属性的地方,将其作为元素传递,然后片段着色器使用它。如果这是真的我会喜欢,如果有人可以更详细地描述它并添加一些例子..(另外如果你需要自定义片段着色器,请告诉我如何因为我不知道如何编写着色器)

1 个答案:

答案 0 :(得分:0)

通过将类分离到不同的VBO来解决..