Jason Green <jave27 <at> gmail.com> writes:
On 5/4/06, Raphael <fenix <at> club-internet.fr> wrote: 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.
You can't use both at the exact same time, but it should be possible to switch between them. Also you cannot combine ARB_v_p with GLSL as far as I know. I remember reading somewhere in the GLSL spec that states that if a vertex shader is used an accompanying pixel shader must be used as well (and vice-versa), implying that you either use all GLSL or all ARB_v_p but can't mix-n-match.
I would think that once GLSL is in use, we shouldn't have a reason to change to ARB_v_p. Maybe some apps/games out there use, for example, Pixel Shader 1.4 with Vertex Shader 2.0? If so, then we would have to have a PS1.4->GLSL path. I wouldn't worry about this unless it actually arises though. (Maybe non-issue, found this on MSDN: "If you are implementing shaders in hardware, you may not use vs_3_0 or ps_3_0 with any other shader versions, and you may not use either shader type with the fixed function pipeline.").
Out of curiosity, is anyone working on a HLSL->GLSL compiler? This seems like a large, non-trivial part of shader model 3 that would be required for Wine to properly implement HLSL.
- Aric