gluttimerfunc et sections critiques...

Résolu
cs_thespartan Messages postés 36 Date d'inscription samedi 3 février 2007 Statut Membre Dernière intervention 26 mai 2008 - 13 janv. 2008 à 01:02
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 - 13 janv. 2008 à 16:06
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

SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
13 janv. 2008 à 02:09
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++ (@++)<!--
3
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
13 janv. 2008 à 10:26
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.
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
13 janv. 2008 à 16:06
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++ (@++)<!--
0
Rejoignez-nous