##### 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