G3*_TexImageParam
構文
-
#include <iris/gx/g3imm.h>
#include <iris/gx/g3b.h>
#include <iris/gx/g3c.h>
void G3_TexImageParam(
GXTexFmt texFmt,
GXTexGen texGen,
GXTexSizeS s,
GXTexSizeT t,
GXTexRepeat repeat,
GXTexFlip flip,
GXTexPlttColor0,
u32 addr
);
void G3B_TexImageParam(GXDLInfo* info, ...);
void G3C_TexImageParam(GXDLInfo* info, ...);
void G3BS_TexImageParam(GXDLInfo* info, ...);
void G3CS_TexImageParam(GXDLInfo* info, ...);
引数
| info |
コマンドリスト情報 |
| texFmt |
テクスチャフォーマット |
| texGen |
テクスチャ座標変換モード |
| s |
テクスチャサイズs |
| t |
テクスチャサイズt |
| repeat |
リピートの指定 |
| flip |
フリップの指定 |
| addr |
テクスチャスロット内のテクスチャの先頭オフセットアドレスをそのまま指定します。 |
返り値
なし。
説明
テクスチャのパラメータを設定します。G3*_TexImageParamコマンドは通常はG3*_Beginより前で発行しますが、G3*_Begin, G3*_End間で発行することもでき、その場合、G3*_Begin, G3*_End内の各ポリゴン毎に異なるテクスチャパラメータを設定することが出来ます。
GX_TEXFMT_NONE |
テクスチャなし |
GX_TEXFMT_PLTT4 |
4色パレットテクスチャ |
GX_TEXFMT_PLTT16 |
16色パレットテクスチャ |
GX_TEXFMT_PLTT256 |
256色パレットテクスチャ |
GX_TEXFMT_COMP4x4 |
4x4テクセル圧縮テクスチャ |
GX_TEXFMT_ALPHA |
半透明テクスチャ |
GX_TEXFMT_DIRECT |
ダイレクトテクスチャ |
GX_TEXGEN_NONE |
テクスチャ座標変換なし |
GX_TEXGEN_TEXCOORD |
TexCoordソース |
GX_TEXGEN_NORMAL |
Normalソース |
GX_TEXGEN_VERTEX |
Vertexソース |
GX_TEXSIZE_S8 |
S軸方向に8テクセル |
GX_TEXSIZE_S16 |
S軸方向に16テクセル |
GX_TEXSIZE_S32 |
S軸方向に32テクセル |
GX_TEXSIZE_S64 |
S軸方向に64テクセル |
GX_TEXSIZE_S128 |
S軸方向に128テクセル |
GX_TEXSIZE_S256 |
S軸方向に256テクセル |
GX_TEXSIZE_S512 |
S軸方向に512テクセル |
GX_TEXSIZE_S1024 |
S軸方向に1024テクセル |
GX_TEXSIZE_T8 |
T軸方向に8テクセル |
GX_TEXSIZE_T16 |
T軸方向に16テクセル |
GX_TEXSIZE_T32 |
T軸方向に32テクセル |
GX_TEXSIZE_T64 |
T軸方向に64テクセル |
GX_TEXSIZE_T128 |
T軸方向に128テクセル |
GX_TEXSIZE_T256 |
T軸方向に256テクセル |
GX_TEXSIZE_T512 |
T軸方向に512テクセル |
GX_TEXSIZE_T1024 |
T軸方向に1024テクセル |
GX_TEXREPEAT_NONE |
リピートしない |
GX_TEXREPEAT_S |
S軸方向にリピート |
GX_TEXREPEAT_T |
T軸方向にリピート |
GX_TEXREPEAT_ST |
S軸T軸両方向にリピート |
GX_TEXFLIP_NONE |
フリップしない |
GX_TEXFLIP_S |
S軸方向にフリップ |
GX_TEXFLIP_T |
T軸方向にフリップ |
GX_TEXFLIP_ST |
S軸T軸両方向にフリップ |
GX_TEXPLTTCOLOR0_TRNS |
カラー0を透明とみなす |
GX_TEXPLTTCOLOR0_USE |
パレットのカラー0設定値が有効 |
以下に列挙型の型定義を示しておきます。
typedef enum
{
GX_TEXFMT_NONE = 0,
GX_TEXFMT_PLTT4 = 2,
GX_TEXFMT_PLTT16 = 3,
GX_TEXFMT_PLTT256 = 4,
GX_TEXFMT_COMP4x4 = 5,
GX_TEXFMT_ALPHA = 6,
GX_TEXFMT_DIRECT = 7
}
GXTexFmt;
typedef enum
{
GX_TEXGEN_NONE = 0,
GX_TEXGEN_TEXCOORD = 1,
GX_TEXGEN_NORMAL = 2,
GX_TEXGEN_VERTEX = 3
}
GXTexGen;
typedef enum
{
GX_TEXSIZE_S8 = 0,
GX_TEXSIZE_S16 = 1,
GX_TEXSIZE_S32 = 2,
GX_TEXSIZE_S64 = 3,
GX_TEXSIZE_S128 = 4,
GX_TEXSIZE_S256 = 5,
GX_TEXSIZE_S512 = 6,
GX_TEXSIZE_S1024 = 7
}
GXTexSizeS;
typedef enum
{
GX_TEXSIZE_T8 = 0,
GX_TEXSIZE_T16 = 1,
GX_TEXSIZE_T32 = 2,
GX_TEXSIZE_T64 = 3,
GX_TEXSIZE_T128 = 4,
GX_TEXSIZE_T256 = 5,
GX_TEXSIZE_T512 = 6,
GX_TEXSIZE_T1024 = 7
}
GXTexSizeT;
typedef enum
{
GX_TEXREPEAT_NONE = 0,
GX_TEXREPEAT_S = 1,
GX_TEXREPEAT_T = 2,
GX_TEXREPEAT_ST = 3
}
GXTexRepeat;
typedef enum
{
GX_TEXFLIP_NONE = 0,
GX_TEXFLIP_S = 1,
GX_TEXFLIP_T = 2,
GX_TEXFLIP_ST = 3
}
GXTexFlip;
typedef enum
{
GX_TEXPLTTCOLOR0_USE = 0,
GX_TEXPLTTCOLOR0_TRNS = 1
}
GXTexPlttColor0;
参照
G3*_TexPlttBase, G3*_TexCoord
履歴
Ver. 2004/01/19