Exemple 2: afficher un triangle
Ce programme affiche un triangle coloré. La classe fournie Window met en place automatiquement les callbacks GLUT nécessaires (clavier, souris, affichage, etc...) qui sont redirigés vers des fonctions membres virtuelles, redéfinissables simplement par héritage dans des classes dérivées.
Fichier : examples/prog2.cpp /*
Utilisation de la mini-bibliothèque fournie pour gérer les fenêtres.
Il suffit de redéfinir les membres virtuels de la classe Window, et
la classe Application se chargera de mettre en oeuvre les appels
nécessaires pour activer les différents événements associés à une
fenêtre (création, réaffichage, clavier, souris, etc...).
Le programme se contente d'afficher un triangle coloré.
*/
#include "glut_import.h"
#include "application.h"
class DemoWindow:public Window{
public:
DemoWindow():Window("Fenêtre de démonstration"){};
void onCreate(){
printf("Fenetre creee, appuyer sur [ESCAPE] pour quitter\n");
};
void onDisplay(){
printf("Reaffichage\n");
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_TRIANGLES);
glColor3f(1,0,0);
glVertex2f(-0.5,-0.7);
glColor3f(0,1,0);
glVertex2f(0.3,0.8);
glColor3f(0,0,1);
glVertex2f(0.7,-0.5);
glEnd();
glFlush();
glutSwapBuffers();
};
};
int main(){
DemoWindow w;
Application::run();
} Ce document a été traduit de LaTeX par HeVeA |