On 5/4/06, Raphael fenix@club-internet.fr wrote:
Only one "technical thing", how you expect to determin if you need GLSL or if ARB_vertex/ARG_fragment is suffcient ? 1 - always use GLSL when available, else try ARB compat code ? 2 - try to use ARB when possible, else switch to GLSL ? 3 - choose the more performant (heuristic depency of opcodes performances) ?
In general, any shader version 2.0 or higher will require GLSL. There are exceptions, but that's the general rule of thumb. So, unless the performance is seriously impacted, we should use GLSL if possible. Also, I'm not sure of the ramifications of using both GLSL shaders and ARB_vertex_program shaders at the same time... Haven't got that far yet, but it's a good question to look into. Phil Costin has already submitted a patch which is in Mike's tree which checks for the existence of the ARB_shader_100 extension (whatever it's called) which allows us to use GLSL shaders.
And why about specifics NV/ATI extensions for shaders ?
Hopefully we won't need them for shaders as there is already an ARB_ extension that should be usable by both vendors. But, if it turns out that we do need one or the other, then it will have to be an if () else type of scenario.