GXSetTexCoordCylWrap

Syntax

#include <revolution/gx.h>

void GXSetTexCoordCylWrap(GXTexCoordID texcoord,
                          GXBool s_enable,
                          GXBool t_enable);

Arguments

texcoord Describes which texture coordinate ID is to be changed. Accepted values are: GX_TEXCOORD0, GX_TEXCOORD1, GX_TEXCOORD2 through GX_TEXCOORD7.
s_enable Enables cylindrical wrapping if GX_TRUE is set. Disables cylindrical wrapping if GX_FALSE is set.
t_enable Enables cylindrical wrapping if GX_TRUE is set. Disables cylindrical wrapping if GX_FALSE is set.

Return Values

None.

Description

This function allows one to enable cylindrical texture coordinate wrapping for the components of a given texture coordinate. Imagine wrapping a texture around a cylinder. Let us assume that the S coordinate goes around the cylinder and the T component follows the length of the cylinder. Cylindrical wrapping can cross the S=1.0 and S=0.0 boundaries and still display the texture properly. Interpolating from 0.9 to 0.1 is done by assuming that the interpolation value really is from -0.9 up to 0.1, not 0.9 down to 0.1. This interpolation adjustment is only performed if the "spread" between the minimum value and the current value is >= 0.5. If the spread is smaller than 0.5, regular (unadjusted) interpolation takes place. Turning off cylindrical wrapping disables the adjustment. By default, the GXInit function turns off cylindrical wrapping.

Note: Cylindrical texture coordinate wrapping may not work properly when a primitive is clipped. "Clipping" infers clipping with the near or far planes, or clipping outside the guard band. Primitives clipped inside the guard band are not a problem, since they are in fact scissored and not clipped.

See Also

None.

Revision History

2006/03/01 Initial version.


CONFIDENTIAL