on voit l'objet tourner mais il clignote puis disparait
pouvez vous m'aidez à trouver les erreurs ?
#include <GL/glut.h>
#include <stdlib.h>
#define X .525731112119133606
#define Z .850650808352039932
void display ()
{
static GLfloat tableau_entrelace [] = {1.0, 1.0, 1.0, -X, 0.0, Z, 1.0, 1.0, 1.0, X, 0.0, Z,
1.0, 1.0, 1.0, -X, 0.0, -Z, 1.0, 1.0, 1.0, X, 0.0, -Z, 1.0, 1.0, 1.0, 0.0, Z, X,
1.0, 1.0, 1.0, 0.0, Z, -X, 1.0, 1.0, 1.0, 0.0, -Z, X, 1.0, 1.0, 1.0, 0.0, -Z, -X,
1.0, 1.0, 1.0, Z, X, 0.0, 1.0, 1.0, 1.0, -Z, X, 0.0,1.0, 1.0, 1.0, Z, -X, 0.0,
1.0, 1.0, 1.0, -Z, -X, 0.0} ;
glInterleavedArrays (GL_C3F_V3F, 0, tableau_entrelace) ;
static GLuint indices [20][3]= {1,4,0,4,9,0,4,5,9,8,5,4,1,8,4,1,10,8,10,3,8,8,3,5,3,2,5,
3,7,2,3,10,7,10,6,7,6,11,7,6,0,11,6,1,0,10,1,6,11,0,9,2,11,9,5,2,9,11,2,7};
glPolygonMode (GL_FRONT, GL_LINE) ;
glFrontFace (GL_CCW) ;
glEnable (GL_CULL_FACE) ;
glCullFace (GL_BACK) ;
glScalef ( 6.0, 6.0, 6.0 ) ;
glRotatef (45, 0.0, 1.0, 0.0) ;
glDrawElements (GL_TRIANGLES, 60, GL_UNSIGNED_INT, indices) ;
glutSwapBuffers() ;
for (int i =1; i<360; i++)
{
if (i > 360)
{
i = 1;
}
glPushMatrix () ;
glRotatef (i, 0.0, 1.0, 0.0 ) ;
glDrawElements (GL_TRIANGLES, 60, GL_UNSIGNED_INT, indices) ;
glutSwapBuffers() ;
glClear (GL_COLOR_BUFFER_BIT) ;
glPopMatrix () ;
}
glFlush () ;
}
void main (int argc, char** argv)
{
glutInit (&argc, argv) ;
glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH) ;
glutInitWindowSize (640, 480) ;
glutInitWindowPosition (250,250) ;
glutCreateWindow (argv [0]) ;
glClearColor (0.0, 0.0, 0.0, 0.0) ;
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
glEnable( GL_DEPTH_TEST );
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glFrustum(-10.0 , 10.0, -10.0, 10.0, 5.0, 100.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt (0.0, 0.0, 10.0, 0.0,0.0,0.0, 0.0, 1.0, 0.0) ;
glutDisplayFunc (display) ;
glutMainLoop () ;
}
Message édité par airseb le 17-07-2002 à 18:01:38