Historique des modifications - Message

Message #6815

Sujet: Calcul du temps > régulation du framerate


TypeDateAuteurContenu
Dernière modification27-08-2009 15:50:43Froyok
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/classirr_1_1_i_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.
Création du message27-08-2009 15:48:18Froyok
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/classirr_1_1_i_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.

Retour

OptionsLiens officielsCaractéristiquesStatistiquesCommunauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1441 sujets
11339 messages
Dernier membre inscrit: Saidov17
204 invités en ligne
membre en ligne: -
RSS Feed