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.
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