私はこのコードを持っています: 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 は正常にレンダリングされるようになりましたが、白い三角形が数ミリ秒しか表示されません (実際には 1 つのフレームにあるのでしょうか?)。3D セットアップが「破損」しているようです。 ...これは、GUIをレンダリングした場合にのみ発生し、行にコメントするとgui.render(false)
、白い三角形が画面に残ります。
更新 2
3D パーツにいくつかのモーションを追加しました (リポジトリの更新を参照)。三角形がほとんど見えなくなっていることがわかります (Z ファイティングのように見えます)。