所以基本上这是我的问题:我正在创建一个需要为每个对象提供纹理的游戏。现在我会使用精灵表,但纹理大小不同。我正在使用 VBO,我需要在调用 drawElements 时如何绑定正确的纹理。现在我不知道该怎么做,因为我不想将每个班级分成自己的 VBO,因为这只会使它像每级 100+ VBO 那样效率不高(或者也许是?)注意这一点是一个 2D 游戏,但我仍然想让它变得高效。
也许我可以用着色器做一些事情?我正在使用着色器...
所以这就是我的问题:我该怎么办?
我想出的东西:
- 将课程分成不同的 VBO(很简单,但我不确定是否非常有效)
- 使用精灵表但有一个非常大的单元格然后只绘制具有透明背景的大四边形..(似乎是一个愚蠢的想法:P)
就是这样..所以我希望你有想法!
编辑:我读了一些可能具有使用哪个纹理的属性的地方,将其作为元素传递,然后片段着色器使用它。如果这是真的,如果有人可以更详细地描述它,我会很高兴并添加一些示例..(另外,如果您需要自定义片段着色器,请告诉我如何,因为我不知道如何编写着色器)