学习3d java编程,我已经构建了一个基于块的3d世界地图(minecraft-clone课程)。我已经加载了纹理以正确渲染块边。
我正在尝试向屏幕显示调试文本(我在2D游戏中做得很好)。但是,文本使用块的纹理显示,或者显示为完全黑色 - 没有文本。
我尝试了十几种防止纹理被使用的变体,但没有解决上述问题。
在绘制文本之前使用:
GL11.glDisable(GL11.GL_DEPTH_TEST);
GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glPushMatrix();
GL11.glLoadIdentity();
GL11.glOrtho(0, Display.getWidth(), Display.getHeight(), 0, 1, -1);
//glDisable(GL_TEXTURE_2D);
//GL11.glBindTexture(GL11.GL_TEXTURE_2D, 0);
GL11.glMatrixMode(GL11.GL_MODELVIEW);
GL11.glPushMatrix();
GL11.glLoadIdentity();
arialPlain.drawString(20, 20, "ON BLOCK:" + strBlock, Color.black);
// Restore the state of the projection mode
GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glPopMatrix();
// Restore the state of the model view mode
GL11.glMatrixMode(GL11.GL_MODELVIEW);
GL11.glPopMatrix();
GL11.glEnable(GL11.GL_DEPTH_TEST);
glEnable(GL_TEXTURE_2D);
文本总是呈现为黑色(我选择的任何字体颜色)矩形,不显示任何实际文本字符。