Bonjour,
Je voudrais simuler un effet de clignotement, c'est à dire que j'affiche un carré dans ma fenetre et je veux que toutes les x secondes l'ecran soit effacer.
Ainsi j'aurais un clignotement de mon carré.
Merci de votre aide.
Bonjour,
Je voudrais simuler un effet de clignotement, c'est à dire que j'affiche un carré dans ma fenetre et je veux que toutes les x secondes l'ecran soit effacer.
Ainsi j'aurais un clignotement de mon carré.
Merci de votre aide.
Sur quelle étape bloques-tu, exactement? Pour effacer l'écran c'est "glClear"
Salut, justement j'effectue glclear mais le carré reste afficher.
si tu travailles en double buffering, c'est le buffer de dessin qui est effacé mais c'est un autre qui reste affiché
il faut donc les swaper
Tutoriels OpenGL
Je ne répondrai à aucune question en MP
- Si c'est simple tu dis que c'est compliqué et tu le fait
- Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.
J'effectue bien un glutswapbuffers dans la fonction d'affichage.
Si j'ai bien compris il faudrait que je le fasse dans la fonction glutimer?
Demandes-tu de redessiner après ton changement d'état ?
Ressources proposées par 3DArchi - Les fonctions virtuelles en C++ - Cours et tutoriels C++ - FAQ C++ - Forum C++.
Donc dans ma fonction
Et dans ma fonction timer
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 void drawScene(void) { // Reset de l'affichage glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); switch(CurrentMode) { case 0: form->draw(); break; case 1: form->setColor(0);// La couleur est noir donc on voit rien break; } //glutPostRedisplay(); //glutSwapBuffers(); }
je fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 void clear(int v) { CurrentMode=1; glutSwapBuffers(); glutPostRedisplay(); glutTimerFunc(freq, clear,v); }
[penses au balises [CODE] (bouton #)]
drawScene est appelée dans une boucle de rendu régulièrement ?
[EDIT] : pourquoi avoir commenté glutSwapBuffers ?
Ressources proposées par 3DArchi - Les fonctions virtuelles en C++ - Cours et tutoriels C++ - FAQ C++ - Forum C++.
C'était un test désolé, j'ai oublié de l'enlever. Actuellement drawscene est appelée comme fonction d'affichage , c'est la fonction d'affichage et la seule.
Ensuite dans drawscene j'ai laissé glutswapbuffers et commenté glutpostredisplay.
Ensuite dans ma fonction du timer je fais un glutpostredisplay.
J'obtiens un clignotement mais il ne respecte pas l'intervalle d'une seconde.
Je désespères ça fait 2 semaines que je suis dessus, je n'obtiens pas le résutat
oublies glutTimer, c'est une très mauvaise idée à mon avis
crées toi plutot un timer "perso" basé sur glutGet(GLUT_ELAPSED_TIME)
et gère le clignotement avec ce timer en affichant ou non l'objet
Tutoriels OpenGL
Je ne répondrai à aucune question en MP
- Si c'est simple tu dis que c'est compliqué et tu le fait
- Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.
Partager