Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Control del tiempo con una funcion sencilla

Iniciado por Gusfraba, 10 de Junio de 2003, 06:19:47 PM

« anterior - próximo »

Gusfraba

Hola a todos/as os cuelgo esta nota porque tengo una duda. soy un programador junior en opengl visualc ++ y tengo una duda, no se como hacer con una funcion sencilla que las imagenes que saco por pantalla vallan a intervalos de tiempo definidos por mi, es decir que la pantalla se refresque cuando a mi me de la gana. gracias por adelantado.

tiutiu

                                Si no he entendido mal, tu pregunta la puedo pillar de 2 maneras:

1) Limitar el el tiempo de frame:

Cuando calcules tu delta_time (el tiempo entre frame y frame, q le pasas a tus funciones d update) sumalo a una variable estatica y comparala con una constante FRAME_TIME_CAP y no renderizes hasta que no sea mayor o igual a la constante. P.ej:


#define FRAME_TIME_CAP 0.1 //0.1 segundos, iria a 10fps como mucho

bool MainLoop()

{

   static int tiempoFrame = 0;

   int deltaTime = GetDeltaTime();

   tiempoFrame += deltaTime;



   //Actualizamos todo lo necesario



   //Llegado el momento de renderizar

   if(tiempoFrame >= FRAME_TIME_CAP) RenderScene();



   //Aqui va el resto de la funcion

}



2) Si lo que quieres es renderizar cuando a ti te pete pues ya es como una aplicacion cualquiera de windows, llama a la funcion cuando lo necesites                                
b>:: Pandora's Box project ::
Notas e ideas sobre desarrollo de engines para juegos