#include <revolution/gx.h>
void GXSetTevAlphaOp(
GXTevStageID stage,
GXTevOp op,
GXTevBias bias,
GXTevScale scale,
GXBool clamp,
GXTevRegID out_reg );
stage |
Name of the TEV stage.Accepted values are: GX_TEVSTAGE0, GX_TEVSTAGE1, GX_TEVSTAGE2 through GX_TEVSTAGE15. |
||||||||||||||||||||||
op |
TEV operation. Accepted values are:
|
||||||||||||||||||||||
bias |
Bias value. Accepted values are:
op is set to GX_TEV_ADD or GX_TEV_SUB. Otherwise this argument must be always set to GX_TB_ZERO. |
||||||||||||||||||||||
scale |
Scale value. Accepted values are:
Note: The scale works only when op is set to GX_TEV_ADD or GX_TEV_SUB. Otherwise this argument must be always set to GX_CS_SCALE_1. |
||||||||||||||||||||||
clamp |
Clamp results when GX_TRUE. The range becomes 0.0 to 1.0 (0 to 255) after clamping. |
||||||||||||||||||||||
out_reg |
Output register name. Accepted values are: GX_TEVPREV, GX_TEVREG0, GX_TEVREG1, GX_TEVREG2. The last active TEV stage must write GX_TEVPREV. |
None.
This function sets the op, scale, bias, and clamp values for the alpha combiner function for this stage of the Texture Environment (TEV) unit. In addition, this function also specifies the output register, out_reg, that will contain the result of the alpha combiner function. The alpha combiner function is as follows:
out_reg = (d (op) ((1.0 - c)*a + c*b) + bias) * scale;
The input parameters, a, b, c, and d are set with the GXSetTevAlphaIn function. The a, b, and c inputs are unsigned 8-bit inputs (where 0 <= a, b, c <= 255). The d input is a signed 10 bit input (where -1024 <= d <= 1023). The result, out_reg, can also be a signed 10-bit result, depending on the clamp enable and the current clamping mode,
The GXSetTevStages functions needs to be used to make it possible to sequential TEV stages. Output the final active TEV stage's output and register to GX_TEVPREV.
GXSetTevAlphaIn
GXSetTevColorIn
GXSetTevColorOp
GXSetTevOp
03/01/2006 Initial version.