加载纹理后TextRenderer绘图不正确

时间:2012-06-13 14:42:36

标签: java opengl jogl

我使用TextRenderer(com.jogamp.opengl.util.awt.TextRenderer)将文本绘制到屏幕上,但是在我加载一些纹理(否则可以正常工作)之后,文本不再是文本而是一小部分我加载的纹理。

我像这样加载纹理......

    gl2.glBindTexture(GL.GL_TEXTURE_2D, unit);
    gl2.glPixelStorei(GL.GL_UNPACK_ALIGNMENT, 1);
    gl2.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_WRAP_S, GL2.GL_CLAMP);
    gl2.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_WRAP_T, GL2.GL_CLAMP);
    gl2.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, GL.GL_LINEAR);
    gl2.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER, GL.GL_LINEAR);
    gl2.glTexEnvf(GL2.GL_TEXTURE_ENV, GL2.GL_TEXTURE_ENV_MODE, GL.GL_REPLACE);
    gl2.glTexImage2D (GL.GL_TEXTURE_2D, 0, GL.GL_RGBA, getWidth(), getHeight(), 
            0, GL.GL_RGBA, GL.GL_UNSIGNED_BYTE, pixMap.getData());
    gl2.glEnable(GL.GL_TEXTURE_2D);
    pixMap.dispose();
    pixMap = null;

为什么会发生这种情况?

1 个答案:

答案 0 :(得分:0)

我对Banthar评论的评论。见上文!

我没有使用glGenTextures,因为我想控制纹理的参考编号,以为我知道我在做什么。是的,当然,字体正在将纹理加载到GPU中,然后我覆盖它,谢谢你指出这一点。