Historique des modifications - Message

Message #6815

Sujet: Calcul du temps > régulation du framerate


Type Date Auteur Contenu
Dernière modification 27-08-2009 15:50:43 Froyok
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 message 27-08-2009 15:48:18 Froyok
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

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
138 invités en ligne
membre en ligne: -
RSS Feed