Compatibility with old OpenGL versions

Started by
2 comments, last by O-san 13 years ago
I'm making an OpenGL game in a small team and I'm expanding my OpenGL knowledge as I go along. I face a lot of backward compatibility problems. We're targeting a crowd that will not always have the latest hardware and drivers. What's the best way to make a game that will run on old OpenGL versions - around 1.5?

I do try to make use of newer features like FBOs and shaders for optimization, GPGPU and visual effects, but I write fallbacks for them so the game can run on old PCs too (sometimes with fewer effects).

We do target PCs with hardware acceleration only. So, unlike PopCap games, at least we don't have a sw rendering mode. But how do you people writing semi-casual games handle the compatibility problem?

As for shaders, I'm using the #version GLSL 110 directive since it's a LCD and that way I don't need to make different shaders for different GL versions.

We aren't using an engine, just OpenGL, since the game makes only limited use of the third dimension and we didn't want the learning curve or complexity of an engine.

Edit: I don't expect a silver bullet solution since there can't be one. Rather, I'm looking for ways and tricks you have used to make backward compatibility easier.
Advertisement
I use GLEE to detect OpenGL version:


if(!GLEE_VERSION_2_0){
error.writeToLog("Warning, GL_VERSION_2_0 not supported.");
}


Has worked for my needs so far..
Sure. I can check the version, but if it's an old version that I want to support, I have to fall back on simpler rendering techniques because the more advanced ones are unavailable.
Yes, that would be necessary, I fall back to fixed function. I think most cards from six or five years back supports at least ogl2.0.

This topic is closed to new replies.

Advertisement