GLU.gluLookAt in Java OpenGL bindings scheint, nichts zu tun
Hab ich schon überprüft, die anderen Fragen zu diesem Thema und deren Lösungen haben nicht funktioniert für mich. Ich bin ein bisschen ein Verlust. Ich habe folgende Funktionen in meine GLEventListener Umsetzung.
public void init(GLAutoDrawable gl) {
GL2 gl2 = gl.getGL().getGL2();
gl2.glMatrixMode(GL2.GL_PROJECTION);
gl2.glLoadIdentity();
GLU glu = GLU.createGLU(gl2);
glu.gluPerspective(45.0f, 1, 0.1f,100.0f);
gl2.glMatrixMode(GL2.GL_MODELVIEW);
gl2.glLoadIdentity();
gl2.glViewport(0, 0, width, height);
gl2.glEnable(GL.GL_DEPTH_TEST);
}
private void render(GLAutoDrawable drawable) {
GL2 gl = drawable.getGL().getGL2();
GLU glu = GLU.createGLU(gl);
gl.glClear(GL.GL_COLOR_BUFFER_BIT);
gl.glMatrixMode(GL2.GL_MODELVIEW);
gl.glLoadIdentity();
glu.gluLookAt(5, 0, 20,
0, 30, 0,
0, 1, 0);
gl2.glPushMatrix();
gl2.glClear( GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT );
gl2.glLoadIdentity();
gl2.glTranslatef(x, y, z);
gl2.glBegin( GL2.GL_QUADS );
gl2.glColor3f( 1, 0, 0 );
//24 glVertex3f calls & some colour changes go here.
gl2.glVertex3f(...)
gl2.glEnd();
gl2.glPopMatrix();
gl.glFlush();
}
Ist es egal, welche Werte ich in der gluLookAt () - matrix, die Ansicht nicht ändern. Ich immer noch am Ende der Suche auf der gleichen Fläche eines Würfels.
Irgendwelche Ideen?
Dank
- Sind Sie auf der Verwendung von Shadern zeichnen Sie den Würfel?
- Ich bin neu hier und weiß nicht, was das bedeutet. Der cube ist nur 24 glVertex3f () - Aufrufe und einige Farb-änderungen zwischen glBegin(quads) und glEnd(). Ich werde meinen Beitrag Bearbeiten, um zu zeigen, ein bisschen mehr von meiner Zeichnung code.
- überprüfen Sie heraus die Antwort unten - ich glaube, Sie haben einen Fehler in Ihrer Zeichnung code.
Du musst angemeldet sein, um einen Kommentar abzugeben.
EDIT: Reagiert, um die Eingabe in die ursprüngliche Frage. Sie lässt den ursprünglichen text unten, weil die Leute scheinen zu finden, um nützlich zu sein.
Ich glaube, dein problem ist, in den Würfel zu zeichnen-code. Überprüfen Sie die Kommentare unten: die
glLoadIdentity
nennen tut genau das, was Sie erwarten würde, - zwingt den cube vor dir:Hier eine sehr kurze Erklärung darüber, was der Zusammenhang fordert, tun wird. Finden Sie in der Dokumentation für weitere Informationen:
Die große Sache über den matrix-code in OpenGL ist, dass, sobald Sie ein portfolio der Beispiel-code, den Sie verstehen, Sie haben immer als Referenz. Wenn ich wechselte von IrisGL zu OpenGL zurück in den Tag, es dauerte eine Weile, bis mein port utilities vorbei und dann habe ich nie bereut.
ORIGINAL:, die Sie benötigen, um Ihre cube-Zeichnung code - wenn Sie setzen die Würfel in der Umgebung von (0, 30, 0), ist es sehr wahrscheinlich, dass der code tut, was Sie gefragt, es zu.
Überprüfung der OpenGL-FAQ gibt es einen bestimmten Frage-und-Antwort, die wahrscheinlich relevant für das, was du tust: 8.080 Warum nicht gluLookAt Arbeit? ich werde die ganze Antwort zitieren, als es ist wirklich nicht eine gute Pause, aber bitte besuchen Sie die OpenGL-FAQ, die Antwort ist wahrscheinlich: