Je cherche à utiliser différentes fonctions pour créer divers objets et les appeler avec une seule fonction comme display()
dans mon projet Opengl. Mais cela ne fonctionne pas, lorsque j'appelle deux fonctions, l'une s'affiche et l'autre ne s'affiche pas, je ne sais pas pourquoi,
J'ai essayé de cette manière:
#include // pour MS Windows
#include // GLUT, incluez glu.h et gl.h
#include
void box() {
glClearColor(1.0f, 1.0f, 1.0f, 1.0f); // Définir la couleur de fond en noir et opaque
glClear(GL_COLOR_BUFFER_BIT); // Effacer le tampon de couleur (arrière-plan)
// Dessiner un carré rouge 1x1 centré à l'origine
glBegin(GL_POLYGON); // Chaque ensemble de 4 sommets forme un polygone
glColor3f(1.0f, 0.0f, 0.0f); // Rouge
glVertex2f(-0.9f, -0.7f);
glVertex2f(-0.9f, 0.7f);
glVertex2f(0.9f, 0.7f);
glVertex2f(0.9f, -0.7f); // x, y
glEnd();
glFlush(); // Rendu maintenant
}
void triangle()
{
glClearColor(1.0f, 1.0f, 1.0f, 1.0f); // Définir la couleur de fond en noir et opaque
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POLYGON); // Chaque ensemble de 4 sommets forme un quad
glColor3f(0.0f, 1.0f, 0.0f); // vert
glVertex2f(-0.9f, -0.7f);
glVertex2f(-0.4f, 0.7f);
glVertex2f(0.1f, -0.7f); // x, y
glEnd();
glFlush(); // Rendu maintenant
}
void display()
{
box();
triangle();
}
/* Fonction principale : GLUT fonctionne comme une application console commençant à main() */
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitWindowSize(1000, 600);// Définir la largeur et la hauteur initiales de la fenêtre
glutCreateWindow("Test de configuration OpenGL");
//gluOrtho2D(-0.1,0.7,-0.1,0.3); // Créer une fenêtre avec le titre donné
//glutInitWindowSize(500, 500);// Définir la largeur et la hauteur initiales de la fenêtre
glutDisplayFunc(display);// Enregistrer le gestionnaire de rappel d'affichage pour la repeinture de la fenêtre
glutMainLoop(); // Entrer dans la boucle de traitement des événements
return 0;
}
Toute suggestion s'il vous plaît.