CSonicGo wrote:
But still, opengl 2.1? Is that a little overboard? Surely there's a better way than relying solely on GLSL.
That's where the old renderer comes in. It will continue to work on older cards.
But I absolutely see no point in investing time in something that has to compromise all the way just to work on old hardware. The new renderer is meant to better exploit the capabilities of modern hardware. It uses shaders for everything and completely circumvents the old fixed function pipeline which is the root of all the problems that have crept into the rendering code. The new renderer uses a much leaner system interface because it doesn't have to bother with all the cruft that is needed to render both with shaders and with the hard coded functionality of old cards. This alone should make it faster.
On the other hand, if I had to code everything with compatibility fallbacks in mind it'd go nowhere. I rather keep the old code around, stripped off all shader support so that the end result will essentially 2 rendering paths - the current one for old hardware and the new one for new hardware.
So the system requirements are:
- OpenGL 2.1
- full GLSL support
- full vertex buffer and texture buffer object support.
If I wouldn't set these minimum requirements the entire rewrite would be an exercise in pointlessness.
That means Geforce 8xxx series or better and modern ATI cards only.
Everything else will fall back to the existing rendering code - but will also obviously miss out on future enhancements.