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