Bonjour,
je travaille actuellement sur une application en C++/OpenGL/GLUT. Je desire faire se déplacer un objet 3D avec des données issues d'un fichier texte. Le fichier texte contient une liste de coordonnées x, y, z.
J'ai realisé une fonction qui recupère ces données et modifie les coordonnées de l'objet et j'appelle cette fonction dans la methode glutIdleFunc. Le problème est que cela ne fonctionne pas, l'objet ne bouge pas et je pense que cela vient du fait qu'il y ait une boucle dans ma fonction qui est appelée par glutIdleFunc.
Donc si quelqu'un a une idée, je suis preneur. Merci.
Je mets le code de ma fonction :
void translation(){
file = fopen("example.txt","rb");
if(file != NULL){
while(fgets(str,SIZE_FILE_LINE,file)!=NULL){
//recup des donnees
sscanf(str,"%f %f %f",&x,&y,&z);
//recup du nouveau point
newX=x; //recup de la nouvelle valeur de x
newY=y; //recup de la nouvelle valeur de y
newZ=z; //recup de la nouvelle valeur de z
//modif de la position de l'objet 3D
ballX+=(newX-ballX);
ballY+=(newY-ballY);
ballZ+=(newZ-ballZ);
glutPostRedisplay();
}
}
}
Dans le main : glutIdleFunc(translation);