I have this little SDL/OpenGL game that I am working on. It runs great, but only on one computer. If I compile it and run it on my desktop, it just pops up a blank screen. If I run it on my netbook, it works just fine and I am able to see what I am trying to render. My question is: What could be causing these inconsistent rendering results? Why is one program running perfectly while the other suffers?
3 Answers
Depending on the systems you're using, SDL may or may not be returning a hardware surface if you request one, and you may or may not have to call SDL_Flip(screen)
to swap video buffers. This is especially true on, say, Mac OS X, where windowed applications can only use software surfaces. If you want to enable double-buffering using SDL with OpenGL, call SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1)
instead of passing SDL_DOUBLEBUF
in the flags of SDL_SetVideoMode()
.
Thanks for all the replies, but it turned out to be some combination of hardware/window manager bizarreness. I added the ability to configure the client a bit more and made it run in a window, and now at least I am getting something. If you want to take a look at the code, feel to browse it here.