我以这种方式在我的lwgjl
应用程序中初始化OpenGL:
glEnable(GL_TEXTURE_2D)
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
glOrtho(0, displayWidth, 0, displayHeight, -1, 1)
glMatrixMode(GL_MODELVIEW)
glClearColor(clearColor.r, clearColor.g, clearColor.b, clearColor.a)
当我使用slick
库和UnicodeFont
或AngelCodeFont
(font.drawString(...)
)绘制文字时。文字是绘图(翻转的vecrtical),但文本后面的其他图像闪烁。
如何避免闪烁并正确绘制文字? OpenGL初始化可能有问题吗?我还尝试了glDisable(GL_LIGHTING)
和glEnable(GL_BLEND)
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
。没有改变。 :(
答案 0 :(得分:0)
解决!下一个代码适合我:
Init OpenGL:
glDisable(GL_DEPTH_TEST)
glDisable(GL_LIGHTING)
glEnable(GL_BLEND)
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
绘制文字:
glEnable(GL_TEXTURE_2D)
font.drawString(x, y, text, color)
glDisable(GL_TEXTURE_2D)