我使用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;
为什么会发生这种情况?
答案 0 :(得分:0)
我对Banthar评论的评论。见上文!
我没有使用glGenTextures,因为我想控制纹理的参考编号,以为我知道我在做什么。是的,当然,字体正在将纹理加载到GPU中,然后我覆盖它,谢谢你指出这一点。