我有这个代码:https ://github.com/magicgoose/lwjgl-nifty-test-project
当我只渲染 GUI 时,它会像预期的那样工作。当我尝试渲染三角形(在透视投影中)然后渲染 GUI 时,一切都失败了,甚至 GUI 也无法正确渲染——我只得到黑色背景上的字母。(如果我
draw_something()
在方法中取消注释语句,就会发生这种情况display(...)
)
private def draw_something() {
glTranslatef(0, 0, -20)
glBegin(GL_TRIANGLES)
glVertex3f(0.0f, 1.0f, 0.0f)
glVertex3f(-1.0f, -1.0f, 0.0f)
glVertex3f(1.0f, -1.0f, 0.0f)
glEnd()
}
我做错了什么?我尝试在背景上搜索带有漂亮 gui 和 3d 图形的工作示例,但没有运气。
更新 1
我已经根据 datenwolf 的回答更改了代码,现在 GUI 渲染正常,但我只能在几毫秒内看到白色三角形(实际上它可能在一个帧中?),似乎 3d 设置正在“损坏” ...仅当我渲染 GUI 时才会发生这种情况,如果我注释 line gui.render(false)
,白色三角形会留在屏幕上。
更新 2
我在 3d 部分添加了一些动作(请参阅存储库中的更新),现在我可以看到三角形几乎不可见(看起来像 z 战斗)。