gizmo | voila, je dois faire un projet en opengl, et j'ai fais une première mouture sur un ordi qui contenait toutes les librairie gl, glu et glut. Tout marchait bien.
Je copie tout le répetoire sur un cd, je le met sur mon ordi, ca compil, mais lorsque je veux le lancer, la fenêtre opengl reste désepérément vide alors que j'avais déja fait des test concluant sur ma machine.
a tout hasard, je copie le code ici, si quelqu'un voit ce qui merde.
Code :
- #include "glut.h"
- #include <stdlib.h>
- #define cosinus_60 0.5
- #define sinus_60 0.866025403784
- #define noir 0.0,0.0,0.0
- #define rouge 1.0,0.0,0.0
- #define orange 1.0,0.5,0.0
- #define jaune 1.0,1.0,0.0
- #define vert_pale 0.5,1.0,0.0
- #define vert 0.0,1.0,0.0
- #define vert_bleu 0.0,1.0,0.5
- #define cyan 0.0,1.0,1.0
- #define bleu_ciel 0.0,0.5,1.0
- #define bleu 0.0,0.0,1.0
- #define mauve 0.5,0.0,1.0
- #define magenta 1.0,0.0,1.0
- #define rose 1.0,0.0,0.5
- #define blanc 1.0,1.0,1.0
- static int temps=0;
- static int minuterie=1000;
- static int echelle=1000;
- static int tps=0;
- static GLfloat couleur[12][3]=
- {
- {rouge},
- {orange},
- {jaune},
- {vert_pale},
- {vert},
- {vert_bleu},
- {cyan},
- {bleu_ciel},
- {bleu},
- {mauve},
- {magenta},
- {rose}
- };
- void init(void)
- {
- glClearColor (0.0, 0.0, 0.0, 0.0);
- glShadeModel(GL_FLAT);
- }
- void dessineTriangle(GLfloat profondeur)
- {
- glBegin(GL_TRIANGLES);
- glVertex3f(0.0, 0.0, profondeur);
- glVertex3f(0.0, 1.0, 0.0);
- glVertex3f(- cosinus_60, sinus_60, 0.0);
- glEnd();
- }
- void construireCadran(void)
- {
- glPushMatrix();
- for(int i=0; i<12; ++i)
- {
- glColor3f(couleur[i][0],couleur[i][1],couleur[i][2]);
- dessineTriangle(0.0);
- glRotatef(30, 0.0, 0.0, 1.0);
- }
- glPopMatrix();
- }
- void construirePanneau(void)
- {
- glColor3f(blanc);
- glPushMatrix();
- glRotatef((GLfloat)temps, 0.0, 0.0, 1.0);
- for(int i=0; i<11; ++i)
- {
- dessineTriangle(0.5);
- glRotatef(30.0, 0.0, 0.0, 1.0);
- }
- glPopMatrix();
- }
- void display(void)
- {
- glClear(GL_COLOR_BUFFER_BIT);
- glPushMatrix(); // pour décalage du cadran
- glRotatef(15, 0.0, 0.0, 1.0); //décalage du cadran
- construireCadran();
- construirePanneau(); // contruit le masque de l'heure
- glPopMatrix(); // fin décalage du cadran
- glutSwapBuffers();
- }
- void reshape(int w, int h)
- {
- glViewport(0, 0, (GLsizei) w, (GLsizei) h);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- gluPerspective(60.0, (GLfloat) w/(GLfloat) h, 1.0, 20.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- gluLookAt(0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
- }
- void timer(int x)
- {
- if(echelle<=tps)
- {
- tps=0;
- temps = (temps - 6)%360;
- glutPostRedisplay();
- glutTimerFunc(10,timer,0);
- }
- else
- {
- tps = tps + 10;
- glutTimerFunc(10,timer,0);
- }
- }
- void keyboard(unsigned char key, int x, int y)
- {
- switch(key)
- {
- case 'a':
- echelle = echelle * 10;
- break;
- case 'z':
- echelle = echelle / 10;
- break;
- default:
- break;
- }
- }
- int main(int argc, char** argv)
- {
- glutInit(&argc, argv);
- glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
- glutInitWindowSize(500, 500);
- glutInitWindowPosition(100, 100);
- glutCreateWindow(argv[0]);
- init();
- glutDisplayFunc(display);
- glutReshapeFunc(reshape);
- glutKeyboardFunc(keyboard);
- glutTimerFunc(10,timer,0);
- glutMainLoop();
- return 0;
- }
|
|