Ninjaライブラリ - 構造体

NJS_TEXSURFACE

テクスチャメモリにロードしたテクスチャの情報を管理する構造体

定義

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固定

解説

テクスチャメモリにロードしたテクスチャの情報を管理する構造体です。 メンバ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の各ビットは次の意味をもちます。

 0ビット   0:ミップマップなし/1:ミップマップあり 
 1ビット   0:1ビットは0固定 
 2ビット   0:長方形テクスチャ/1:Twiddledテクスチャ 
 3ビット   0:VQ以外のテクスチャ/1:VQテクスチャ 
 4ビット   0:Stride以外のテクスチャ/1:Strideテクスチャ 
 5ビット   0:パレット以外のテクスチャ/1:パレットテクスチャ 


NJS_TEXSURFACE
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998,1999