Ninja Library - 構造体/その他のデータ型

NJS_TEXSURFACE

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

定義

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サイズ 


NJS_TEXSURFACE
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000