現在の割り当てでは、OpenGLで古い固定パイプラインメソッドを使用する必要があります。私たちはLWJGL 2.9.3を使用しています。次のコードは、三角形を表示します。問題は、狂ったようにちらつきます。 Display.swapBuffers()メソッドは例外をスローしません。それをインクルードするかどうかは異なりません。OpenGLでのシンプルな三角レンダリングでのちらつき
gluPerspective, glViewport, gluLookAt and the GL_PROJECTION and GL_MODELVIEW Matricies
glViewport(0, 0, Display.getWidth(), Display.getHeight());
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, 10, 0, 10, -1, 100);
glMatrixMode(GL_MODELVIEW);
glClear(GL_COLOR_BUFFER_BIT);
gluLookAt(0, 0, 0, 0, 0, 1, 0, 1, 0);
glBegin(GL_POLYGON);
glVertex3d(1, 1, 1);
glVertex3d(1, 5, 1);
glVertex3d(5, 5, 1);
glEnd();
glFlush();
try {
Display.swapBuffers();
} catch (Exception e) {
e.printStackTrace();
}
EDIT
もうひとつ:私はこのStackOverflowの質問をオフに基づいて、この例を作成しました。 glMatrixMode(GL_MODELVIEW)の後にglLoadIdentity()を呼び出すと、gluLookAt()メソッドが無視されるようになります。私はそれを行うと黒い画面が表示されます。しかし、もし私がそうでなければ、それは(私が0,0,0から目の位置を変えれば)それ自体に乗算を続けます。
したがって、基本的には 'glLoadIdentity()'を追加して、 'gluLookAt'が間違った方向に見えていることを知りましたか? – ybungalobill
うん。それは間違った方向を見ていました。目が(0,0,0)にあり、視点が(0,1,0)にある場合は、Y軸を見下ろす。ポリゴンはX/Y平面に平行でした。私は間違った場所に1を置く。 – AaronF