【发布时间】:2016-06-14 20:40:46
【问题描述】:
我有很多小图像,这些图像可以组合成一个大图像。 现在,我使用 VBO 来执行此操作,并且它是有效的。部分渲染函数是这样的:
for (int i = 0; i < mListTexData.size(); i++) {
gl.glBindTexture(GL2.GL_TEXTURE_2D, mTexturesIDs.get(i));
gl.glDrawArrays(GL2.GL_QUADS, i*4, 4);
}
我想知道是否有更方便的方法来做到这一点。 谢谢。
【问题讨论】:
-
多少?它们的大小都一样吗?它们会被修改还是保持不变?
-
数量不固定。可能有数百张图片。不,它们不是并且可能被其他图像替换。替换图片时要修改顶点。谢谢回复
-
您只有相对较少的不同尺寸吗?
-
是的。大多数图像的大小相同。
-
然后你可以使用图集,一个大的纹理,里面有所有的小纹理。您可以对其进行子更新。或者您可以使用几个纹理数组,每个纹理数组对应不同的大小。或者你简单地继续做你已经在做的事情。 ps:
GL_QUADS已弃用,使用普通GL_TRIANGLES
标签: jogl