Hi, I’v searched and couldn’t find a post spot on about this so I figured I’d ask.
Im just trying to do a simple monocrome shader that preserves the incoming textures alpha channel.
This code:
glBeginFragmentShaderATI();
glSampleMapATI(GL_REG_0_ATI, GL_TEXTURE0_ARB, GL_SWIZZLE_STR_ATI);
glColorFragmentOp2ATI(GL_DOT4_ATI,
GL_REG_0_ATI, GL_NONE, GL_SATURATE_BIT_ATI,
GL_REG_0_ATI, GL_NONE, GL_NONE,
GL_CON_0_ATI, GL_NONE, GL_BIAS_BIT_ATI | GL_2X_BIT_ATI);
glEndFragmentShaderATI();
Results in an alpha of 0. (CON_0 is (.3,.6,.1,0))
But if I add this statement before the DOT4 statement everything works fine (yes, its a garbage statement):
glColorFragmentOp1ATI(GL_MOV_ATI,
GL_REG_1_ATI, GL_NONE, GL_NONE,
GL_REG_0_ATI, GL_ALPHA, GL_NONE);
I do need to use DOT4 and not DOT3 because this shader is used for other reasons also.
Any ideas, can anyone test this and see if they get the same behavior?
Thanks
Malcolm
[This message has been edited by MalcolmB (edited 08-01-2003).]