fenetre openGL qui se ferme pas ... - C++ - Programmation
Marsh Posté le 11-02-2005 à 16:19:46
OpenGL... unix, win32, glut ??
et poste un peu ton code de fin, pour voir comment tu fermes ton programme.
Marsh Posté le 11-02-2005 à 16:58:27
tu as dû mal associé ta fermeture de fenêtre...mais c'est en quoi? GLUT, SDL???
Marsh Posté le 12-02-2005 à 10:45:36
j'ais crée ma fenêtre avec glut pour le code voilà :
Citation : |
et mon problème c'est lors de la fermeture ...
et Merci d'avoir répondu
Marsh Posté le 12-02-2005 à 12:09:56
amonchakai a écrit : |
Ca ne serait pas plutôt :
gluLookAt(10 * cos(angX)*sin(angZ),10 * cos(angZ),10 * sin(angZ)*sin(angX),0,0,0,0,1,0);
Sinon chez moi ça s'arrête.
Marsh Posté le 12-02-2005 à 13:48:53
Sur ça :
Citation : gluLookAt(10 * cos(angX)*sin(angZ),10 * cos(angZ),10 * sin(angZ)*sin(posX),0,0,0,0,1,0); |
moi j'ais aucun problème et ça fonctionne exactement comme je le veut.
sinon je débute l'openGL donc est ce que on pourrait m'expliquer ce que vous voulez dire par :
Citation : détruire la display list |
. Parce que ce que je comptrend pas c'est que mon programme est sencé être arrété : on ne le voit plus dans le gestionnaire des taches et même quand on regarde l'exécutions des taches dans les informations systèmes. il ne devrait ne devrait plus faire parti des processus non ?
parce que pour moi programme arrété qu'il soit foireux ou pas il est plus censé être exécuté donc donc le code n'a plus aucunne importance non ? j'avoue être un peut perplexe...
Marsh Posté le 12-02-2005 à 13:53:07
oups... pardon sur ça :
Citation : gluLookAt(10 * cos(angX)*sin(angZ),10 * cos(angZ),10 * sin(angZ)*sin(posX),0,0,0,0,1,0); |
vous avez raison c'est bien :
Citation : gluLookAt(10 * cos(angX)*sin(angZ),10 * cos(angZ),10 * sin(angZ)*sin(angX),0,0,0,0,1,0); |
érreur de recopiage ...
Marsh Posté le 12-02-2005 à 14:37:45
Tu devrais quand même ralentir un peu ton programme avec un petit Sleep par exemple.
Sinon tu utilises quel compilateur et quelle version de glut ?
Marsh Posté le 12-02-2005 à 14:53:29
Bon pour le ralentir c'est pas compliqué : faut toucher à l'incrémentation de la variable angle dans la fonction Idle() (moi je le ralentit pas car sur mon pc : un athlon 900 + geforce 2 MX ca tourne pas trop vite ...) pour un P4 essaye de mettre 0.05. (rem angle est déjà en double)
Sinon je programme avec dev-c++ version 4.9.9.1
et ma version de glut je l'ais eu avec openGL 1.2 et quand j'ouvre glut.h il me donne :
Citation : GLUT_API_VERSION=4 |
Marsh Posté le 12-02-2005 à 15:05:41
amonchakai a écrit : Bon pour le ralentir c'est pas compliqué : faut toucher à l'incrémentation de la variable angle dans la fonction Idle() (moi je le ralentit pas car sur mon pc : un athlon 900 + geforce 2 MX ca tourne pas trop vite ...) pour un P4 essaye de mettre 0.05. (rem angle est déjà en double) |
Je disait ça pour éviter que ça te prenne 100% du processeur c'est tout.
amonchakai a écrit :
|
Hum c'est une vielle version tu devrais la mettre à jour.
Marsh Posté le 12-02-2005 à 17:54:29
j'ais téléchargé openGL 2.0 Mais j'ais Win98 donc je peut pas vois les processus j'aurrais la réponce si sa marche demain...
Je voudrais juste poser une question : sleep(); d'après mes souvenir (je suis sûrement pas à jour) ça travaille à la seconde près. pas terrible pour une fonction qui travaille sur le rafraichissement de l'image non ?
remarque : comment on fait pour avoir le nombre d'image affichée par seconde ?
Marsh Posté le 12-02-2005 à 19:27:33
tu mesures, mais après je sais pas si Glut expose quelque chose d'indépendant de l'os.
sinon sous windows tu le fais avec QueryPerformanceTimer / QueryPerformanceFrequency.
Marsh Posté le 12-02-2005 à 19:28:39
et si tu veux réguler ton framerate, tu le fais avec un timer, où c'est un message qui te permet de savoir quand tu dois rafraichir.
Marsh Posté le 12-02-2005 à 20:16:37
sleep est à la seconde mais pas Sleep qui est à la milliseconde (uniquement sous windows) :
http://msdn.microsoft.com/library/ [...] /sleep.asp
Marsh Posté le 13-02-2005 à 13:56:50
bon j'ais pu essayer avec openGL 2.0 et ... ça change rien mes programmes continuent a se partager gaiment toute la charge processeur malgré qu'il soient tous arrétés!!
Marsh Posté le 13-02-2005 à 18:36:44
J'aimerais savoir ce que tu appelles OpenGL2 au juste
Non parce qu'OpenGL ne fonctionne pas du tout comme DirectX et on ne télécharge pas OpenGL 2 comme ça. OpenGL 2 tout ce que ça apporte par rapport au 1.5 c'est un ensemble d'extensions et jusqu'à preuve du contraire aucun IHV n'a pour l'instant des drivers OpenGL 2
Marsh Posté le 14-02-2005 à 23:48:51
C'est clair que la moindre pause d'une milliseconde tombe direct l'occupation CPU en laissant un peu bosser l'ordonnanceur
Marsh Posté le 11-02-2005 à 13:40:16
Bojour, moi j'ais un ptit problème : ma fenêtre en openGL elle se ferme pas... Plus précisément je clique sur 'x' et là pas de problème ca ce ferme. Mais quand j'utilise l'ordinateur il se passe comme un truc : il rame!!!. Je lance le gestionnaire des taches et là rien de spécial mais quand je vais voir la liste des processus et bien je retrouve mon programme qui continue a tourner... Avez vous une idée de ce qui se passe ?
Sinon une autre petite question : voilà j'aimerais bien faires des niveaux comme dans les jeux : aurriez vous une idée où je peut trouver un logiciel qui puisse faire des niveau 3D. ily aurrait bien la solution de definir chaque mur, chaque sol, ... par ses coordonnées en 3D mais... Vous avez rien de moin laborieux surtout si tu veut faire quelque chose de joli (et je te parle pas des personnages vous vous imaginer definir chaques personnages point par point...)
merci.[cpp][/cpp]