0

我正在使用 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()循环对性能有好处吗?

4

0 回答 0