D3D Pixel/Vertex shader discussion (for shader model 2.0+)
Aric.Cyr at gmail.com
Mon May 8 22:38:00 CDT 2006
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.
More information about the wine-devel