我无法确定为什么使用x = 3
导致在LWJGL应用程序中呈现给屏幕的任何其他内容消失的任何可能原因。在我的情况下,程序应该绘制一个三角形和一些文本,只是为了测试一下,但反而发生的是三角形在消失前显示单个帧,只留下要显示的文本。如果删除UnicodeFont.drawString()
调用,则三角形显示为正常。
我按如下方式设置字体:
drawString()
然后在渲染循环中调用它:
UnicodeFont font = new UnicodeFont(new java.awt.Font("Times New Roman", java.awt.Font.PLAIN, 24));
font.getEffects().add(new ColorEffect(java.awt.Color.WHITE));
font.addAsciiGlyphs();
try {
font.loadGlyphs();
} catch (SlickException e) {
e.printStackTrace();
}
答案 0 :(得分:0)
所以看起来我的问题源于对启用/禁用纹理的混乱。我通过在渲染循环的开头添加以下内容来解决它:
glDisable(GL_BLEND);
并在调用drawString(...)
之前添加此内容:
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA):