Java glCallList和slick util
每当我绘制我的显示列表时,我的光滑的util文本都无法正确渲染 使用glCallList时: 不使用glCallList: 呈现显示列表:Java glCallList和slick util,java,opengl,lwjgl,Java,Opengl,Lwjgl,每当我绘制我的显示列表时,我的光滑的util文本都无法正确渲染 使用glCallList时: 不使用glCallList: 呈现显示列表: if (dlLocation != -1) { GL11.glPushMatrix(); GL11.glTranslatef(x, y, 0); GL11.glCallList(dlLocation); GL11.glPopMatrix(); } 所有显示列表都是使用此
if (dlLocation != -1) {
GL11.glPushMatrix();
GL11.glTranslatef(x, y, 0);
GL11.glCallList(dlLocation);
GL11.glPopMatrix();
}
所有显示列表都是使用此方法创建的:
private static int createDisplayList(Texture t, int width, int height) {
int returnInt = glGenLists(1);
glNewList(returnInt, GL_COMPILE);
{
t.bind();
glEnable(GL_TEXTURE_2D);
glColor4f(1, 1, 1, 1);
glBegin(GL_QUADS);
{
glTexCoord2f(0, 0);
glVertex2f(0, 0);
glTexCoord2f(1, 0);
glVertex2f(width, 0);
glTexCoord2f(1, 1);
glVertex2f(width, height);
glTexCoord2f(0, 1);
glVertex2f(0, height);
}
glEnd();
glDisable(GL_TEXTURE_2D);
}
glEndList();
return returnInt;
}
我正在使用slick util的TrueTypeFont渲染文本。将
glBindTexture
(在您的情况下,t.bind()
)放置在glNewList
之外可能会有所帮助
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, texture)
glCallList(newList)
glBindTexture(GL_TEXTURE_2D, 0)
当我用这种方式绑定纹理时,它怎么知道把纹理放在哪里?有没有感觉到没有GLT?抱歉,我是openGl新手,除了模仿模式之外,我不太了解:-)准确地说,没关系,我只是不在displaylist创建方法中使用t.bind()?请在这里帮助我。使用glBindTexture,纹理是一个整数。我该如何在Slick Util中使用它呢?虽然不是一个很熟练的用户,但看起来你做得不错。要绑定纹理-
texture.bind()代码>和解除绑定-TextureImpl.bindNone()代码>棒极了,很乐意帮忙:D