【发布时间】:2015-05-29 17:08:26
【问题描述】:
我目前正在使用 LWJGL (GL11) 开发一个简单的纹理矩形类。这就是我目前在 draw 方法中所拥有的。
glEnable(GL_TEXTURE_2D);
color.bind();
glBegin(GL_QUADS);
t.bind();
if (centered)
{
glTexCoord2d(0, 0);
glVertex2d(x - (width / 2), y - (height / 2));
glTexCoord2d(t.getWidth(), 0);
glVertex2d(x + (width / 2), y - (height / 2));
glTexCoord2d(t.getWidth(), t.getHeight());
glVertex2d(x + (width / 2), y + (height / 2));
glTexCoord2d(0, t.getHeight());
glVertex2d(x - (width / 2), y + (height / 2));
}
else
{
glTexCoord2d(0, 0);
glVertex2d(x, y);
glTexCoord2d(t.getWidth(), 0);
glVertex2d(x + width, y);
glTexCoord2d(t.getWidth(), t.getHeight());
glVertex2d(x + width, y + height);
glTexCoord2d(0, t.getHeight());
glVertex2d(x, y + height);
}
glEnd();
glBindTexture(GL_TEXTURE_2D, 0);
glDisable(GL_TEXTURE_2D);
问题出在倒数第二行 (glBindTexture(GL_TEXTURE_2D, 0))。如果我打开它,图像将显示片刻(可能是一帧),然后变成纯白色。如果我将此注释掉,它将显示,但始终显示最后加载的纹理。有什么想法吗?
【问题讨论】:
标签: java opengl textures lwjgl