1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
#include <iostream>
#include "glut.h"
using namespace std;
GLfloat lightPosition[]={ 10.0, 10.0, 0.0, 0.0 };
void initGL(void) {
cout << "...dans initGL()" << endl;
glLightfv(GL_LIGHT0, GL_POSITION, lightPosition);
// On autorise la lumière.
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
}
void displayFunc(void) {
cout << "...dans display()" << endl;
//Effacement des pixels.
glClear(GL_COLOR_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
// LIGNE A METTRE POUR NE PLUS AVOIR LE PHENOMENE --> glLightfv(GL_LIGHT0, GL_POSITION, lightPosition);
glutSolidSphere(1.0, 64, 64);
glFlush();
glutSwapBuffers();
}
void reshapeFunc(int w, int h) {
cout << "...dans reshape() w=" << w << " h=" << h << endl;
glViewport(0, 0, (GLsizei) w, (GLsizei) h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glFrustum(-w/(float) h, w/(float) h, -1.0, 1.0, 2.0, 20.0);
}
int main(int argc, char *argv[]) {
// Initialisation de GLUT.
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
// On crée la première fenêtre.
glutInitWindowSize(500, 500);
glutInitWindowPosition(100, 100);
glutCreateWindow("Fenetre #1");
initGL();
glutDisplayFunc(displayFunc);
glutReshapeFunc(reshapeFunc);
// On entre dans la boucle GLUT.
glutMainLoop();
return(0);
} |
Partager