java - glCallList 与 slick-util

标签 java opengl lwjgl

每当我绘制显示列表时,我光滑的实用程序文本都无法正确呈现。

使用 glCallList 时:

不使用 glCallList:

渲染显示列表:

    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)

关于java - glCallList 与 slick-util,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26435672/

相关文章:

java - 带增量运算符的动态 MySQL 查询

java - 抽屉导航库fragmentmain是什么意思

java - 当类路径中存在类时,如何防止隐式 Java 编译?

c++ - 在渲染多个对象时,在 C++ 中使用 OpenGL 有困难

linux - 在 Linux 上为 gtkmm 和交叉编译设置 OpenGL

java - LWJGL 中的 Keyboard.create() 是做什么的?

java - 有什么好工具可以轻松帮助我编写/维护 WSDL 文件吗?

java - 提前更新场景,同时仍然渲染前一帧

java - 带纹理的 VBO,没有弃用的功能

c++ - NURBS 和 opengl 4.2 内核怎么样?