0

我使用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;

为什么会发生这种情况?

4

1 回答 1

0

我对班塔尔的评论的评论。往上看!

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

于 2012-06-17T05:59:47.510 回答