Pages: 1
Bonjour à tous, en nouvel utilisateur d'irrlicht que je suis, et après avoir passé quelque tutoriaux entre mes doigts pour appréhender irrlicht, des questions me viennent à l'esprit :
Je travaillait avant avec la SDL et OpenGl pour créer un moteur 3D, devant la tâche, j'ai décidé de passer à irrlicht. Sous la SDL j'avais un code qui me permettait de réguler le framrate et le temps écouler afin de gérer les animations correctement. Je me suis donc dirigé vers cette méthode pour l'adapter à irrlicht. Sous la SDL cela reposait sur la fonction qui récupérait le temps écoulé en millisecodnes depuis la création de l'application.
Existe-t'il sous irrlicht une méthode pareille/identique ?
J'ai bien trouvé les "timer" dans la doc ( http://irrlicht.sourceforge.net/docu/cl … timer.html ) mais cela ne semble pas correspondre.
Le code sous la SDL ressemble à cela :
last_time = SDL_GetTicks(); //Boucle de rendu start_time = SDL_GetTicks(); current_time = SDL_GetTicks(); elapsed_time = current_time - last_time; last_time = current_time; //dessin, ou affichage/calcul de la scène stop_time = SDL_GetTicks(); if ((stop_time - last_time) < time_per_frame) { SDL_Delay(time_per_frame - (stop_time - last_time)); }
Donc SDL_GetTicks() renvois un int avec le temps en millisecondes écoulé, et time_per_frame est la limite en fps.
Time ellapsed le temps écoulé, ce qui permet de réguler la vitesse de mouvement ingame.
Dernière modification par Froyok (27-08-2009 17:50:43)
Hors ligne
j'ai pas mon code sous le nez mais ses a peut prêt ça :
et tu update tes animations en fonction de se time_elapsed la diference avec ton code ses qu'il "bloc" le fps, le mien update l'animation en fonction de du temps donc tu garde un bon fps ( et sa evite par ailleur d'aoir des animation lent si le fps en < 60 )
Dernière modification par Magun (27-08-2009 18:16:18)
Hors ligne
Magun :
( et sa evite par ailleur d'aoir des animation lent si le fps en < 60 )
Merci pour ces informations !
Par contre je ne suis pas sur d'avoir bien compris ce que tu souhaitais dire : c'est normal que l'animation soit "lente" da façon inférieure à 60 fps, puisque justement, avec le manque de frames le mouvement sera saccadé. Mais même si le mouvement est saccadé, l'objet se déplacera toujours à la même vitesse et dans le même sens. Ma méthode (et encore, je n'ai rien inventé) limite les fps en plus afin de gérer un rendu type.
Hors ligne
non si tu utilise des animation 3d elle ne seras pas sacccader mais juste rendue en fonction du temps et nom du fps, et que ma methode permet d'avoir +60 fps sans que cela n'affect la vitesse de l'animation, mais ma fois tu peut tout a fait utiliser ta methode dans irrlicht, cela t'oblige d'avoir une dll suplementaire ... sinon tu peut utiliser la mienne pour limminter le fps en utilisant device->sleep(u32); ou u32 seras le temps en ms
tu m'excuseras j'ai pas le temps de regarder la doc ou mais code pour verifier se que je dit, te j'ai pas trop la tête a sa ^^
je réinstall mais os ....
Dernière modification par Magun (28-08-2009 11:19:01)
Hors ligne
Magun :
non si tu utilise des animation 3d elle ne seras pas sacccader mais juste rendue en fonction du temps et nom du fps, et que ma methode permet d'avoir +60 fps sans que cela n'affect la vitesse de l'animation, mais ma fois tu peut tout a fait utiliser ta methode dans irrlicht, cela t'oblige d'avoir une dll suplementaire ... sinon tu peut utiliser la mienne pour limminter le fps en utilisant device->sleep(u32); ou u32 seras le temps en ms
tu m'excuseras j'ai pas le temps de regarder la doc ou mais code pour verifier se que je dit, te j'ai pas trop la tête a sa ^^
je réinstall mais os ....
Ok, maintenant je vois ce que tu veux dire !
Même avec ma méthode j'anime mes personnage sur le temps et non au niveau des fps !
Même si derrière j'impose une limitation. C'est vrai que la question peut se poser de savoir si c'est vraiment utile...
Par contre, pourquoi est-ce que j'aurais une dll supplémentaire avec irrlicht ? Tu parles de la sdl en disant cela ? Si oui, c'est tout l'intérêt de ce topic ou je demande s'il existe une fonction similaire à celle de la sdl, justement pour ne pas avoir à utiliser la sdl !
Néanmoins, avec tes deux réponses je vais pouvoir progresser ! Merci beaucoup !
Hors ligne
oui je parlais de la dll de la sdl
Néanmoins, avec tes deux réponses je vais pouvoir progresser ! Merci beaucoup !
pas de soucis
Hors ligne
Pages: 1
Options | Liens officiels | Caractéristiques | Statistiques | Communauté |
---|---|---|---|---|
Corrections |
|
xhtml 1.0 css 2.1 Propulsé par FluxBB Traduit par FluxBB.fr |
882 membres 1429 sujets 11119 messages |
Dernier membre inscrit: LiseBuisson96 25 invités en ligne Aucun membre connecté RSS Feed |