[résolu] librairie GLUT- glutTimerFunc???
2 participants
Forum universite Paris 8 TK - Le Forum Etudiant de l'Université Paris 8 - Saint Denis :: Le point info :: Forums d'UFR :: Mathématiques, informatique, technologies, sciences de l'information et de la communication (MITSIC)
Page 1 sur 1
[résolu] librairie GLUT- glutTimerFunc???
Bonsoir!
Je souhaite réaliser un petit programme vraiment basique en OpenGL et je voudrais savoir si il y aurait quelqu'un pour m'expliquer comment implémenter la fonction glutTimerFunc dans mon code car je me retrouve avec une image saccader à l'écran du plus mauvais effet et je me dit qu'il faudrait peut-être que je ralentisse l'affichage pour avoir une image fluide.
On m'avait expliquer qu'il fallait la mettre dans la fonction où je définis les différentes formes que je veux afficher et dans le main mais je ne suis plus sûr du tout.
Je met mon code pour que vous puissiez voir mon problème, vous verrez que j'ai mis la fonction glutTimerFunc dans mon code mais elle n'a aucun effet sur lui:
Merci d'avance
Je souhaite réaliser un petit programme vraiment basique en OpenGL et je voudrais savoir si il y aurait quelqu'un pour m'expliquer comment implémenter la fonction glutTimerFunc dans mon code car je me retrouve avec une image saccader à l'écran du plus mauvais effet et je me dit qu'il faudrait peut-être que je ralentisse l'affichage pour avoir une image fluide.
On m'avait expliquer qu'il fallait la mettre dans la fonction où je définis les différentes formes que je veux afficher et dans le main mais je ne suis plus sûr du tout.
Je met mon code pour que vous puissiez voir mon problème, vous verrez que j'ai mis la fonction glutTimerFunc dans mon code mais elle n'a aucun effet sur lui:
- Code:
#include
#include
/*variable globale*/
int WindowName;
double a=0;
int LightPos[4]={0,0,3,1};
int MatSpec[4]={1,1,1,1};
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*fonction*/
void Reshape(int width,int height){
float ratio=width/(float)height;
glViewport(0,0,width,height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45,ratio,0.1,100);
glMatrixMode(GL_MODELVIEW);
}
void Draw(){
glMaterialiv(GL_FRONT_AND_BACK,GL_SPECULAR,MatSpec);
glMateriali(GL_FRONT_AND_BACK,GL_SHININESS,100);
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0,6,6,0,0,0,0,1,0);
glRotated(a,0,1,0);
glLightiv(GL_LIGHT0,GL_POSITION,LightPos);
glRotated(-a,0,1,0);
glutSolidSphere(1,50,50);
a+=1;
glutSwapBuffers();
glutPostRedisplay();
glutTimerFunc(50,Draw,0);
}
void InitGL(){
glEnable(GL_DEPTH_TEST);
glEnable(GL_COLOR_MATERIAL);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
}
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*main*/
int main(int argc,char **argv){
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_RGBA|GLUT_DOUBLE|GLUT_DEPTH);
glutInitWindowSize(640,480);
WindowName=glutCreateWindow("Ma premiere fenetre OpenGL");
/*glutFullScreen(); peut pas marcher avec la fonction glutReshapeFunc et glutPositionFunc dans le code*/
/*appel de fonction*/
glutReshapeFunc(Reshape);
glutDisplayFunc(Draw);
glutTimerFunc(50,Draw,0);
InitGL();
glutMainLoop();
return 0;
}
Merci d'avance
Dernière édition par Timtikines le Sam 26 Nov 2011 - 16:35, édité 2 fois
Timtikines- Apprenti
-
Nombre de messages : 31
Age : 38
Cursus : Master MAPI (Management de Projet Innovant - parcours MAJE (Management de Jeux-Vidéo)
Date d'inscription : 21/12/2009
Re: [résolu] librairie GLUT- glutTimerFunc???
Un truc tout con, parce que bon je peux difficilement t'aider mais avec le peu de connaissances en C que j'ai je vois pas d'erreur. Tu utilises quel soft? Quelles erreurs s'affichent à la compilation ?
Pontus- Major de promo
-
Nombre de messages : 1129
Age : 55
Cursus : M1 Science Politique
Date d'inscription : 02/10/2009
Re: [résolu] librairie GLUT- glutTimerFunc???
Je travail sous Linux, le code comme tu l'as remarqué c'est du C pour manipuler OpenGL. Je n'ai pas de soft a proprement parler a part Emacs pour écrire mon code.
Ensuite, je n'ai pas de message d'erreur qui s'affiche à l'écran, c'est juste que le rendu que j'ai n'est pas fluide du tout, un jour on m'a dit que c'était peut-être parce-que l'image se rafraichissait trop rapidement puis on ma parler de cette fonction (glutTimerFunc) pour ralentir l’exécution du programme sauf que je ne me souviens plus très bien comment l'utiliser
Ensuite, je n'ai pas de message d'erreur qui s'affiche à l'écran, c'est juste que le rendu que j'ai n'est pas fluide du tout, un jour on m'a dit que c'était peut-être parce-que l'image se rafraichissait trop rapidement puis on ma parler de cette fonction (glutTimerFunc) pour ralentir l’exécution du programme sauf que je ne me souviens plus très bien comment l'utiliser
Timtikines- Apprenti
-
Nombre de messages : 31
Age : 38
Cursus : Master MAPI (Management de Projet Innovant - parcours MAJE (Management de Jeux-Vidéo)
Date d'inscription : 21/12/2009
Re: [résolu] librairie GLUT- glutTimerFunc???
Dans ce cas je peux difficilement t'aider je ne suis pas sassez calé : /
Pontus- Major de promo
-
Nombre de messages : 1129
Age : 55
Cursus : M1 Science Politique
Date d'inscription : 02/10/2009
Re: [résolu] librairie GLUT- glutTimerFunc???
ok c'est pas grave. Merci d'avoir répondu
Timtikines- Apprenti
-
Nombre de messages : 31
Age : 38
Cursus : Master MAPI (Management de Projet Innovant - parcours MAJE (Management de Jeux-Vidéo)
Date d'inscription : 21/12/2009
Re: [résolu] librairie GLUT- glutTimerFunc???
Bon ben j'ai trouvé tout seul : il fallait juste que j'enlève une fonction avec laquelle glutTimerFunc ne fonctionne pas. cette fonction est glutPostRedisplay(). Ne me demander pas pourquoi exactement mais c'est comme ça.
Cette fonction sert à rafraîchir (ou recalculez) la scène lorsque vous redimensionnez la fenêtre par exemple
Cette fonction sert à rafraîchir (ou recalculez) la scène lorsque vous redimensionnez la fenêtre par exemple
Timtikines- Apprenti
-
Nombre de messages : 31
Age : 38
Cursus : Master MAPI (Management de Projet Innovant - parcours MAJE (Management de Jeux-Vidéo)
Date d'inscription : 21/12/2009
Sujets similaires
» [résolu]Rattrapage
» [résolu]Des nouvelles des procès verbaux/PV ?
» [résolu]Cours libre Photo
» [résolu]Demande de diplôme (niveau DEUG)
» [résolu]Des nouvelles des procès verbaux/PV ?
» [résolu]Cours libre Photo
» [résolu]Demande de diplôme (niveau DEUG)
Forum universite Paris 8 TK - Le Forum Etudiant de l'Université Paris 8 - Saint Denis :: Le point info :: Forums d'UFR :: Mathématiques, informatique, technologies, sciences de l'information et de la communication (MITSIC)
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|