Supporting different rendering

Hi,

I was wanting to release my game soon, and want to support as many computers as possible. The renderer is currently written in opengl 3.3, but there's not reason the game couldn't run on a lot older graphic cards.

Is it common to try and support all the different versions of opengl (at least version 3.2 as well)? I don't want to do too much extra work on the rendering side of things. Am I best going with the bgfx library to handle things? Or just limit users to opengl 3.3 & above?

Thanks,
Oliver

Edited by Oliver Marsh on
It is common to do one of two things - one is to set GL/D3D API requirements to minimum you want to support, because that also limits features you can use. Other approach is to support multiple API levels/version by degrading quality on lower ones for performance reasons. You must see that if you want to support lower end hardware that exposes lower version of OpenGL that would also mean it has less performance, and you won't be able to render exactly same things.

Don't forget to test on actual hardware. Graphics APIs, that includes D3D and GL, and others, often have bugs in drivers. Even if it works on your machine there is a probability it won't work on hardware from 5 years ago. Supporting this is much more work than supporting multiple code-paths in rendering.

That said, bgfx is rally nice library. Use it.