I’m in the middle (or past middle) of writing a video game under OpenGL for the Windows Platform. I’m using VC++ 5, and Win98SE.
I’m using fullscreen, and the problem I’m having is that the video almost seems like it isn’t actually swapping the buffers, or the OpenGL is rendering to the current screen. I get frames where it seems that instead of drawing the new frame, it is displaying the old one from the last swap before (or at least parts of it). The end effect is that it looks like a ship sometimes is jumping backwards (it’s not every other frame, it’s like every 4th frame). On an Nvidia card, it is dealable visually, on a 3DFX card, it looks like it draws only part of the gl commands and gives up and displays the frame anyway, even though it isn’t done (So I’ll get the backdrop, and perhaps some effects, but no ships). I have no clue what is going on.
I have tried glFinish() and glFlush() (even in multiple places, same problem).
hi
What i think is you try this
*when u call drawGLScene() set a boolean variable bRendering = TRUE. & after calling SwapBuffers() at the end of drawGLScene() set bRendering = FALSE.
*if (bRendering == TRUE) don’t call DrawGLScene()
Do you clear the color buffer each frame? If not, then make sure that you arent doing some type of alpha blend where you blend with the frame buffer (which would likely contain the contents of the previous frame).