0/5 (6 avis)
Snippet vu 16 493 fois - Téléchargée 39 fois
#include <windows.h> #include <GL/glu.h> #include <GL/glut.h> #include <GL/gl.h> void display() { glClearColor(0.0,0.0,0.0,0.0); glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); //La c'est les coordonnées du cube static GLfloat coord[]= { -0.5,-0.5,-0.5, 0.5,-0.5,-0.5, 0.5,0.5,-0.5, -0.5,0.5,-0.5, -0.5,-0.5,0.5, 0.5,-0.5,0.5, 0.5,0.5,0.5, -0.5,0.5,0.5 }; //Ici les couleurs du cube static GLfloat color[6][3]= { {1.0,0.0,0.0}, {0.0,1.0,0.0}, {0.0,0.0,1.0}, {0.0,1.0,1.0}, {1.0,1.0,0.0}, {1.0,0.0,1.0}, }; //Ici c'est les faces du cube qui sont rangées, chaque sommet possède un numéro static GLubyte num[6][4]= {{0,1,2,3}, {1,5,6,2}, {4,5,6,7}, {0,4,7,3}, {0,1,5,4}, {2,6,7,3} }; glEnableClientState(GL_VERTEX_ARRAY); glVertexPointer(3,GL_FLOAT,0,coord); glRotatef(0.4, 0.0, 1.0, 1.0); //Rotation du cube //Dessin du cube for(int x=0; x!=6; x++) { glBegin(GL_QUADS); glColor3f(color[x][0],color[x][1],color[x][2]); //définition de la couleur d'une face for(int i=0; i!=4; ++i) glArrayElement(num[x][i]); glEnd(); } glutSwapBuffers(); glutPostRedisplay(); } void keyboard(unsigned char touche, int x, int y) { switch(touche) { case 27 : //Echap pour quitter exit(0); } } void glInit (void) { glEnable (GL_DEPTH_TEST); //Active la profondeur glPolygonMode (GL_FRONT_AND_BACK, GL_FILL); } int main(int argc, char **argv) { glutInitDisplayMode (GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH); glutInit(&argc,argv); glutInitWindowSize(500,500); glutInitWindowPosition(100,100); glutCreateWindow("Fenetre"); glutDisplayFunc(display); glutKeyboardFunc(keyboard); glInit(); glutMainLoop(); return 0; }
23 janv. 2003 à 18:57
Juste un truc pour rendre compilable par gcc: evite les déclarations de variables au sein d'un for
24 janv. 2003 à 07:47
19 août 2003 à 04:52
21 août 2003 à 05:06
6 mai 2008 à 11:24
je l'ai compilé pourvoir le résultat en borland c++ mais il n'a pas voulu s'exécuter correctement, il manque peut être des bibliothèques ou le code n'est pas complet. c'est quoi le problème à votre avis.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.