Original Post
My requirements currently are:
- OpenGL 2.0/GLSL 1.10 for core components, which also have to be blackboxed and portable, and have mostly to do with GUI drawing
- OpenGL 3.0 as the minimum version for some application components, but already have much of CPU emulation code written
Although both versions are quite old and wide-spread by now, there might be some people in my target audience who don't have 3.0 enabled cards. Since I do have CPU fallbacks for critical 3.0-dependent components (eg particle transform, bone animation, etc), the question boils down to deciding the minimum GLSL version - whether it can be 3.0 across the board or if it's worth keeping any blackboxed code using an older GLSL version.
Basically, I'm trying to not assume there's a speed benefit for doing something in a newer version that can just as easily be done in an older version of GLSL, which kinds of begs the question - is there a compelling reason to force already encapsulated core components up a couple of version if the feature set doesn't really require it?
In short, the question is - is there a penalty to using GLSL 1.10 when a newer version is available (things like deprecated and sloppier compiler, direct speed disadvantages due to deprecation on driver level, possible removal of older shader language versions by the Khronos group in the future, etc)?
- OpenGL 2.0/GLSL 1.10 for core components, which also have to be blackboxed and portable, and have mostly to do with GUI drawing
- OpenGL 3.0 as the minimum version for some application components, but already have much of CPU emulation code written
Although both versions are quite old and wide-spread by now, there might be some people in my target audience who don't have 3.0 enabled cards. Since I do have CPU fallbacks for critical 3.0-dependent components (eg particle transform, bone animation, etc), the question boils down to deciding the minimum GLSL version - whether it can be 3.0 across the board or if it's worth keeping any blackboxed code using an older GLSL version.
Basically, I'm trying to not assume there's a speed benefit for doing something in a newer version that can just as easily be done in an older version of GLSL, which kinds of begs the question - is there a compelling reason to force already encapsulated core components up a couple of version if the feature set doesn't really require it?
In short, the question is - is there a penalty to using GLSL 1.10 when a newer version is available (things like deprecated and sloppier compiler, direct speed disadvantages due to deprecation on driver level, possible removal of older shader language versions by the Khronos group in the future, etc)?