Hi,
I’m currently working on a school project in OpenGL 2.X and I’m trying to make a cube rotate based on time and not on FPS so I did this :
int main(void)
{
Input input;
Uint32 lastTime = SDL_GetTicks();
Uint32 currentTime, ellapsedTime, frames, time;
SDL_Init(SDL_INIT_VIDEO);
SDL_WM_SetCaption("Nibble", NULL);
SDL_SetVideoMode(640, 480, 32, SDL_OPENGL);
glMatrixMode(GL_PROJECTION);
glLoadIdentity( );
gluPerspective(70,(double)640/480,1,1000);
glEnable(GL_DEPTH_TEST);
frames = 0;
time = 0;
while (!input.getEvent(SDLK_ESCAPE) && !input.quit())
{
input.updateEvents();
currentTime = SDL_GetTicks();
ellapsedTime = currentTime - lastTime;
time += ellapsedTime;
lastTime = currentTime;
angleZ += (0.01 * ellapsedTime);
angleX += (0.01 * ellapsedTime);
drawCube();
++frames;
if (time >= 1000)
{
std::cout << "Frames = " << frames << std::endl;
time = 0;
frames = 0;
}
}
SDL_Quit();
return (0);
}
But the animation is not fluid at all (jerky). If someone could tell me what is wrong.
Thank You.