我正在使用 LWJGL 库开发游戏。我有几个不同的纹理要渲染。我将纹理用作精灵表,我需要一次渲染一些对象,例如按照以下顺序:玩家 -> 块 -> npc -> 生物。
我尝试了以下方法:
glBindTexture(GL_TEXTURE_2D, texture.id);
glBegin(GL_QUADS);
{
glTexCoord2f(0, 0);
glVertex2f(0, 0);
glTexCoord2f(1, 0);
glVertex2f(0, 100);
glTexCoord2f(1, 1);
glVertex2f(100, 100);
glTexCoord2f(0, 1);
glVertex2f(100, 0);
}
glEnd();
但是如果我只想使用单一glBegin()
渲染,我发现只有少数方法可以在内部使用,glBegin()
并且glBindTexture()
不在那里。
所以我的问题实际上是是否有办法改变内部的纹理glBegin()
,如果没有,使用多个glBegin()
和glEnd()
循环对性能有好处吗?