typedef struct{ Uint32 Type; Uint32 BitDepth; Uint32 PixelFormat; Uint32 nWidth; Uint32 nHeight; Uint32 TextureSize; Uint32 fSurfaceFlags; Uint32 *pSurface; Uint32 *pVirtual; Uint32 *pPhysical; }NJS_TEXSURFACE;
Type | フォーマット・カラー・サーフェースタイプ |
BitDepth | テクスチャのカラービット数 |
PixelFormat | ピクセルフォーマット |
nWidth | テクスチャの横サイズ(8〜1024ピクセル) |
nHeight | テクスチャの縦サイズ(8〜1024ピクセル) |
TextureSize | テクスチャのバイトサイズ |
fSurfaceFlags | サーフェースフラグ |
*pSurface | テクスチャアドレスのオフセット |
*pVirtual | 0固定 |
*pPhysical | 0固定 |
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の各ビットは次の意味をもちます。
0ビット | 0:ミップマップなし/1:ミップマップあり |
1ビット | 0:1ビットは0固定 |
2ビット | 0:長方形テクスチャ/1:Twiddledテクスチャ |
3ビット | 0:VQ以外のテクスチャ/1:VQテクスチャ |
4ビット | 0:Stride以外のテクスチャ/1:Strideテクスチャ |
5ビット | 0:パレット以外のテクスチャ/1:パレットテクスチャ |