我正在使用LWJGL库开发游戏。我有几个不同的纹理来渲染。我使用纹理作为精灵表,我需要一次渲染一些对象,例如,顺序为:player - >块 - > 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()
不在那里。< / p>
所以我的问题实际上是,如果有一种方法来改变glBegin()
内的纹理,如果不是,那么使用多个glBegin()
和glEnd()
循环是否有利于性能?< / p>