Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
774 connectés 

  FORUM HardWare.fr
  Programmation

  [OpenGL] Gérer la vitesse d'affichage ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[OpenGL] Gérer la vitesse d'affichage ?

n°70442
WhitePoney
Moi ! Moi m'sieur !
Posté le 07-11-2001 à 19:49:47  profilanswer
 

Salut, voilà j'ai deux questions :
-> dans un programme utilisant l'opengl, comment peut-on gérer la vitesse du jeu ? Est-ce qu'on doit calculer le temps que met le PC à effectuer une boucle du jeu puis attendre le temps restant (en ayant donc un FPS prédéfini, du genre 30 fps) ? Cette solution ne me semble pas bonne, alors comment fait-on dans les jeux ?
 
-> dans mes programmes, puis-je utiliser des stuctures d'unités (pion, personnage) énormes, avec beaucoup d'attributs (en veillant bien sur a éviter les copies sur la pile et les choses comme cela) ?
 
merci

 

[edtdd]--Message édité par WhitePoney--[/edtdd]

mood
Publicité
Posté le 07-11-2001 à 19:49:47  profilanswer
 

n°70444
youdontcar​e
Posté le 07-11-2001 à 19:52:20  profilanswer
 

- tu te bases sur le temps courant et non pas le nombre de frames calculées. par ex, GetTickCount() renvoie le nombre de millisecondes écoulées depuis le lancement de windows. il y a également des timers plus précis (timers multimedia).
 
- oui, ça ne pose aucun problème ... tu peux regarder les structures de la sdk de quake3, c'est assez gros d'ailleurs.

n°70446
WhitePoney
Moi ! Moi m'sieur !
Posté le 07-11-2001 à 19:53:43  profilanswer
 

youdontcare a écrit a écrit :

- tu te bases sur le temps courant et non pas le nombre de frames calculées. par ex, GetTickCount() renvoie le nombre de millisecondes écoulées depuis le lancement de windows. il y a également des timers plus précis (timers multimedia).




 
je comprends pas trop ce que tu veux dire :sweat:

n°70450
WhitePoney
Moi ! Moi m'sieur !
Posté le 07-11-2001 à 20:04:44  profilanswer
 

?

n°70458
youdontcar​e
Posté le 07-11-2001 à 20:15:18  profilanswer
 

oh c'est bon on peut respirer oui ? :lol:
 
une animation c'est généralement aller d'un point A à un point B en N millisecondes.
 
c'est donc une interpolation linéaire :
positionInterpolée = A*(1-t) + B*t; // t allant de 0 à 1.
 
la stratégie simple : au début de l'animation, tu regardes le temps courant :
 
startAnimTime = GetTickCount();
 
à chaque nouvelle frame, tu choppes le temps courant :
 
curAnimTime = GetTickCount();
 
tu calcules le temps écoulé depuis le début de l'anim :
 
deltaAnimTime = curAnimTime - startAnimTime;
 
c'est maintenant que la magie opère ... :D c'est là que tu décides le temps que prend l'animation. on va dire ici 5 secondes, soit 5000 milli secondes.
 
t = deltaAnimTime / 5000;
 
ce qui te donne ton t pour l'interpolation. si t >= 1.0, l'animation est finie.

n°70463
WhitePoney
Moi ! Moi m'sieur !
Posté le 07-11-2001 à 20:27:54  profilanswer
 

hoooooo je voyais pas ça comme ça ; pour moi, une animation c un objet qui va d'un point A a un point B en ayant sa vitesse de progression, je ne fixais pas un temps d'animation....
 
Je te remercie de ta réponse, je suis sûr que ça m'aidera vraiment :jap: !

n°70470
youdontcar​e
Posté le 07-11-2001 à 20:37:19  profilanswer
 

:) attention quand même, j'ai marqué 'généralement'. cette méthode marchera nickel pour ouvrir des portes, déplacer des persos, etc. pour la simulation physique, je ne sais pas du tout comment ça marche ...

n°70570
WhitePoney
Moi ! Moi m'sieur !
Posté le 08-11-2001 à 09:23:35  profilanswer
 

le pb c que je gérais les mouvements en pixels par boucle au lieu de pixels par temps.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [OpenGL] Gérer la vitesse d'affichage ?

 

Sujets relatifs
OpenGL : premier programme qui merde ;(PHP PROBLEME AFFICHAGE VALEURS (<ESPACE> et ')
Affichage de fichier et dossiers en Cp'tit ancien d'OpenGl, un nouveau de DirectX :D
gérer soit même des lsites de diffusion...quelqu'un a deja du gerer des feux tricolore ?
rendu opengl transparent.[openGL] afficher plusieurs point de vue
Commencer à programmer en OpenGL[C] OpenGL en FullScreen
Plus de sujets relatifs à : [OpenGL] Gérer la vitesse d'affichage ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR