gluttimerfunc et sections critiques... [Résolu]

Signaler
Messages postés
36
Date d'inscription
samedi 3 février 2007
Statut
Membre
Dernière intervention
26 mai 2008
-
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
-
Bonjour. Je veux faire des animations en fonction du temps écoulé...
D'une part j'ai ma fonction principale d'affichage :

affichage ( ){

dessineBoule(x,y,z);

testCollision(x,y,z);

}


d'autre part :

glutTimerFunc(5, Timer, 0,0,0); dans mon init

timer (x,y,z){

z++;

}


Je voulais savoir si il était garanti que dans le display la valeur de
z soit la même... des fois que que le z soit mis a jour entre 2
instructions critiques de la fonction... ce qui fait par exemple que la boule serait dessinée pour un z donné et que si entre temps Timer est appelé le reste des calculs se ferait sur z+1...

Spartan

3 réponses

Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
12
Et bien, pour être sur, tu n'as qu'à stocker z dans une variable au début de la fonction et utiliser cette variable au lieu de z lui même.

C++ (@++)<!--
Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
2
Salut,

Bah non, pour etre bien sur il faudrait plutot afficher l'id des
threads dans lesquels sont executés les fonctions timer, display (voir
les fonctions idle, keyboard etc) pour s'apercevoir que c'est toujours
le même, et que donc il n'y a pas de probleme.

En même temp c'est logique, glut est construit au dessus d'une fenetre
windows, et une fenetre windows traite toujours ses messages dans le
thread qui a créé la window.
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
12
Oui, ça c'est à supposer qu'il y ai bien un seul thread.

"glut est construit au dessus d'une fenetre windows"
Le topic est dans la section Linux.

C++ (@++)<!--