我正在创建一个基于固定功能管道的游戏(我知道,翻白眼),我想知道是否可以完全禁用颜色并只绘制线框。我在我的四边形上使用纹理,但是当我使用此代码时:
if (Keyboard.isKeyDown(Keyboard.KEY_F1)) {
GL11.glPolygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_LINE);
}
if (Keyboard.isKeyDown(Keyboard.KEY_F2)) {
GL11.glPolygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_FILL);
}
它只是绘制线条,然后恢复到填充模式。但是,在线框模式下,您仍然可以看到线条上的颜色渗漏,而我不希望出现这种情况。有什么方法可以删除它,这样我就只有白线了?
最佳答案
if (Keyboard.isKeyDown(Keyboard.KEY_F1)) {
GL11.glPolygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_LINE);
glDisable(GL_TEXTURE_2D);
}
if (Keyboard.isKeyDown(Keyboard.KEY_F2)) {
GL11.glPolygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_FILL);
glEnable(GL_TEXTURE_2D)
}
此外,如果您要使用 glColor3f/glColor4f 更改任何位置的颜色,您将需要创建一个 boolean 值来确定是否处于线框模式。如果您在每次渲染调用开始时,请调用 glColor3f(1, 1, 1)。
关于java - 仅渲染 2D LWJGL 中的线框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20308304/