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