Ceci est une image que je dessine avec mon programme:OpenGL. fonction gluLookAt ne fonctionne pas
[IMG] http://i62.tinypic.com/j163j8.png [/ IMG]
Il est censé être 3D. Lorsque je tente de le vérifier avec gluLookAt:
GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
GL.glLoadIdentity();
GL.glMatrixMode(GL.GL_MODELVIEW);
glu.gluLookAt(
5.0, 2.0, 2.0,
0.0, 0.0, 0.0,
0.0, 0.0, 0.0);
figura(drawable); //Drawing figure
GL.glFlush();
Il montre seulement un écran blanc, ou une figure foiré pour une seconde, il se déclenche. Si je comprends bien, les trois premiers coords montrent le point de vue, le deuxième 3 montre la destination de visualisation et le troisième 3 montre l'axe de rotation. Mais cette fonction ne fait que tout chambouler.
Merci pour les réponses.
Troisième 3 sont le vecteur «up», essayez 'glu.gluLookAt (5.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);' –
@ AnthonyVallée-Dubois Ce serait un vecteur en place valide si l'œil était sur le même plan XZ que la cible, c.-à-d. {5, 0, 2} au lieu de {5, 2, 2}. – schmop
@schmop Peut-être que j'ai tort car cela fait un moment mais je crois comprendre que le vecteur up est recalculé par 'gluLookAt()' pour être perpendiculaire au vecteur direction tel que 'side = cross (dir, up); haut = croix (côté, dir); Voir: http: //www.opengl.org/wiki/GluLookAt_code –