When I rotate a textured object(pyramind) around an axis the closer the object gets to viewport the more the texture seems to flicker regardless of frame rate. Im using linear map for the texture and double buffering.

When I reduce the angle of rotation the flickering reduces but then I loose speed.

To me it seems that the previous frame is still being drawn whilst the next one begins. Is this possible and if so is
there a callback function to determine when the frame is finished been drawn.

Thanks for any help.


glRotated(fRot, 0.0f, 1.0f, 0.0f);
glTranslatef(-20.0f, 0.0f, 0.0f);


you can force openGL to finish all drawings with glFinish().
this function will wait until your scene is drawn entirely. there’s another one called glFlush(), but i think it just flushes all buffers and tells openGL to finish soon, so i think glFinish() is better.

ps: you could use some timing code to determine when the last frame was drawn and the current frame is drawn

[This message has been edited by sebastian (edited 06-20-2000).]