ATI Fragment shader usage - Radeon 8000 series


void glPassTexCoordATI(uint dst, uint coord, enum swizzle);

dst: GL_REG_X_ATI (X = 0..31)
coord: GL_TEXTUREX_ARB (X=0..31)
swizzle: GL_SWIZZLE_STR_ATI, GL_SWIZZLE_STQ_ATI, GL_SWIZZLE_STR_DR_ATI, GL_SWIZZLE_STQ_DQ_ATI, GL_SWIZZLE_STRQ_ATI, GL_SWIZZLE_STRQ_DQ_ATI



void glSampleMapATI(uint dst, uint interp, enum swizzle);

dst:GL_REG_X_ATI (X = 0..31)
interp:GL_TEXTUREX_ARB (X = 0..31), GL_REG_X_ATI, (X = 0..31)
swizzle:GL_SWIZZLE_STR_ATI, GL_SWIZZLE_STQ_ATI, GL_SWIZZLE_STR_DR_ATI, GL_SWIZZLE_STQ_DQ_ATI, GL_SWIZZLE_STRQ_ATI, GL_SWIZZLE_STRQ_DQ_ATI



void glColorFragmentOpXATI( enum op, uint dst, uint dstMask, uint dstMod
          uint argN, uint argNRep, uint argNMod, ...);

void glAlphaFragmentOpXATI( enum op, uint dst, uint dstMod
          uint argN, uint argNRep, uint argNMod, ...);

(X = 1..3) (N=1..3)

op: GL_MOV_ATI, GL_ADD_ATI, GL_MUL_ATI, GL_SUB_ATI, GL_DOT3_ATI, GL_DOT4_ATI, GL_MAD_ATI, GL_LERP_ATI, GL_CND_ATI, GL_CND0_ATI
dst: GL_REG_X_ATI (X = 0..31)
dstMask: GL_NONE, GL_RED_BIT_ATI, GL_GREEN_BIT_ATI, GL_BLUE_BIT_ATI, GL_ALPHA_BIT_ATI
dstMod: GL_NONE, GL_2X_BIT_ATI, GL_4X_BIT_ATI, GL_8X_BIT_ATI, GL_HALF_BIT_ATI, GL_QUARTER_BIT_ATI, GL_EIGHTH_BIT_ATI, SATURATE_BIT_ATI
argN: GL_REG_X_ATI (X = 0..31), GL_CON_X_ATI (X = 0..31), GL_ZERO, GL_ONE, GL_PRIMARY_COLOR, GL_SECONDARY_INTERPOLATOR_ATI
argNRep: GL_NONE, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA
argNMod: GL_NONE, GL_2X_BIT_ATI, GL_COMP_BIT_ATI, GL_NEGATE_BIT_ATI, GL_BIAS_BIT_ATI



void glSetFragmentShaderConstantATI(uint dst, const float *value);

dst:GL_CON_X_ATI (X = 0..31)



uint glGenFragmentShadersATI(uint range);

void glBindFragmentShaderATI(uint id);

void glDeleteFragmentShaderATI(uint id);

void glBeginFragmentShaderATI(void);

void glEndFragmentShaderATI(void);

void gl[Enable][Disable](GL_FRAGMENT_SHADER_ATI);


luv djmk-ultra