typedef struct{ Uint32 Type; Uint32 BitDepth; Uint32 PixelFormat; Uint32 nWidth; Uint32 nHeight; Uint32 TextureSize; Uint32 fSurfaceFlags; Uint32 *pSurface; }NJS_TEXSURFACE;
Type フォーマット・カラー・サーフェースタイプ BitDepth テクスチャのカラービット数 PixelFormat ピクセルフォーマット nWidth テクスチャの横サイズ(8〜1024ピクセル) nHeight テクスチャの縦サイズ(8〜1024ピクセル) TextureSize テクスチャのバイトサイズ fSurfaceFlags サーフェースフラグ pSurface テクスチャアドレスのオフセット
テクスチャメモリにロードしたテクスチャの情報を管理する構造体です。 メンバtypeは、各ビットに次のような意味をもっています。31〜24ビット テクスチャフォーマットタイプ
ビット 意味 0x01****** Twiddledテクスチャ 0x02****** Twiddledミップマップテクスチャ 0x03****** VQテクスチャ 0x04****** VQミップマップテクスチャ 0x05****** 4bppパレットテクスチャ 0x06****** 4bppパレットミップマップテクスチャ 0x07****** 8bppパレットテクスチャ 0x08****** 8bppパレットミップマップテクスチャ 0x09****** Rectangleテクスチャ 0x0B****** Strideテクスチャ 0x0D****** Twiddled Rectangleテクスチャ 0x10****** SmallVQテクスチャ 0x11****** SmallVQミップマップテクスチャ
23〜16ビット テクスチャカラータイプ
ビット 意味 0x**00**** ARGB1555 0x**01**** RGB565 0x**02**** ARGB4444 0x**03**** YUV422 0x**04**** BUMP 0x**05**** RGB555 0x**06**** ARGB8888 or YUV420
15〜 0ビット サーフェスタイプ
ビット 意味 0x****0001 フレームバッファ(この値は入りません) 0x****0002 SmallVQ以外のテクスチャ 0x****0003 SmallVQテクスチャ
テクスチャのカラービット数を示すメンバBitDepthは、次の値をもちます。
ビット 意味 0x00000001 16ビットテクスチャ 0x00000002 24ビットテクスチャ 0x00000003 32ビットテクスチャ
ピクセルフォーマットを示すメンバPixelFormatは、次の値をもちます。
ビット 意味 0x00000000 ARGB1555 0x08000000 RGB565 0x10000000 ARGB4444 0x18000000 YUV422 0x20000000 BUMP 0x28000000 PALETTIZED 4BPP 0x30000000 PALETTIZED 8BPP
サーフェースフラグを示すメンバfSurfaceFlagsの各ビットは次の意味をもちます。
ビット 意味 0x80000000 Mipmapテクスチャ 0x40000000 VQ、Small VQテクスチャ 0x04000000 No twiddled テクスチャ 0x00000000 Twiddledテクスチャ 0x02000000 Strideテクスチャ 0x00008000 Palettizedテクスチャ
0x00000000 テクスチャ縦8サイズ 0x00000001 テクスチャ縦16サイズ 0x00000002 テクスチャ縦32サイズ 0x00000003 テクスチャ縦64サイズ 0x00000004 テクスチャ縦128サイズ 0x00000005 テクスチャ縦256サイズ 0x00000006 テクスチャ縦512サイズ 0x00000007 テクスチャ縦1024サイズ 0x00000000 テクスチャ横8サイズ 0x00000008 テクスチャ横16サイズ 0x00000010 テクスチャ横32サイズ 0x00000018 テクスチャ横64サイズ 0x00000020 テクスチャ横128サイズ 0x00000028 テクスチャ横256サイズ 0x00000030 テクスチャ横512サイズ 0x00000038 テクスチャ横1024サイズ