#include <revolution/gx.h>
void GXSetTexCoordScaleManually(GXTexCoordID texcoord, GXBool enable,
u16 ss, u16 ts);
| texcoord | Describes which texture coordinate ID is to be changed. Accepted values are: GX_TEXCOORD0, GX_TEXCOORD1, GX_TEXCOORD2 through GX_TEXCOORD7. |
|---|---|
enable |
If GX_TRUE, scale is set manually. If GX_FALSE, scale is set automatically (ss and ts are ignored). |
| ss | Manually set scale value for calculating the S component (width) of the coordinate. |
| ts | Manually set scale value for calculating the T component (height) of the coordinate. |
None.
This function lets you manually assign the scale values that are used for a given texcoord, overwriting the automatic scale values for texture coordinates. Setting the enable parameter to GX_TRUE gives this behavior. The given texcoord retains these manually-set scale values until this function is called again. This function is also used to return a given texture coordinate back to an automatically-scaled normal (by setting enable to GX_FALSE).
A texture coordinate is scaled after being calculated by the relevant texgen and before the actual texture lookup. Normally, the scale value is set by the GXSetTevOrder function according to the texture map associated with the texture coordinate. However, there are certain cases where a different scale value is desirable. One such case is when using indirect tiled textures (see the GXSetTevIndTile function).
Note: In addition to the texture coordinate scale, GX also automatically sets the texture coordinate range bias mode by default. If you configure a texture coordinate to be scaled manually, the associated range bias is no longer automatically set by GX. Therefore, you have to call the GXSetTexCoordBias function as well in order to set the proper bias mode. These two functions should always be called together.
2006/03/01 Initial version.
CONFIDENTIAL