Microsoft DirectX 8.0 (C++)

D3DFORMAT

さまざまな種類のサーフェス フォーマットを定義する。

typedef enum _D3DFORMAT {
    D3DFMT_UNKNOWN              =   0,

    D3DFMT_R8G8B8               =  20,
    D3DFMT_A8R8G8B8             =  21,
    D3DFMT_X8R8G8B8             =  22,
    D3DFMT_R5G6B5               =  23,
    D3DFMT_X1R5G5B5             =  24,
    D3DFMT_A1R5G5B5             =  25,
    D3DFMT_A4R4G4B4             =  26,
    D3DFMT_R3G3B2               =  27,
    D3DFMT_A8                   =  28,
    D3DFMT_A8R3G3B2             =  29,
    D3DFMT_X4R4G4B4             =  30,

    D3DFMT_A8P8                 =  40,
    D3DFMT_P8                   =  41,

    D3DFMT_L8                   =  50,
    D3DFMT_A8L8                 =  51,
    D3DFMT_A4L4                 =  52,

    D3DFMT_V8U8                 =  60,
    D3DFMT_L6V5U5               =  61,
    D3DFMT_X8L8V8U8             =  62,
    D3DFMT_Q8W8V8U8             =  63,
    D3DFMT_V16U16               =  64,
    D3DFMT_W11V11U10            =  65,

    D3DFMT_UYVY                 =  MAKEFOURCC('U', 'Y', 'V', 'Y'),
    D3DFMT_YUY2                 =  MAKEFOURCC('Y', 'U', 'Y', '2'),
    D3DFMT_DXT1                 =  MAKEFOURCC('D', 'X', 'T', '1'),
    D3DFMT_DXT2                 =  MAKEFOURCC('D', 'X', 'T', '2'),
    D3DFMT_DXT3                 =  MAKEFOURCC('D', 'X', 'T', '3'),
    D3DFMT_DXT4                 =  MAKEFOURCC('D', 'X', 'T', '4'),
    D3DFMT_DXT5                 =  MAKEFOURCC('D', 'X', 'T', '5'),

    D3DFMT_D16_LOCKABLE         =  70,
    D3DFMT_D32                  =  71,
    D3DFMT_D15S1                =  73,
    D3DFMT_D24S8                =  75,
    D3DFMT_D16                  =  80,
    D3DFMT_D24X8                =  77,
    D3DFMT_D24X4S4              =  79,

    D3DFMT_VERTEXDATA           = 100,
    D3DFMT_INDEX16              = 101,
    D3DFMT_INDEX32              = 102,

    D3DFMT_FORCE_DWORD          = 0xFFFFFFFF
} D3DFORMAT;

定数

D3DFMT_UNKNOWN
サーフェス フォーマットは不明である。
D3DFMT_R8G8B8
24 ビットの RGB ピクセル フォーマット。
D3DFMT_A8R8G8B8
アルファ付きの 32 ビット ARGB ピクセル フォーマット。
D3DFMT_X8R8G8B8
32 ビットの RGB ピクセル フォーマットで、そのうち 8 ビットは各色のために確保されている。
D3DFMT_R5G6B5
16 ビットの RGB ピクセル フォーマット。
D3DFMT_X1R5G5B5
16 ビットのピクセル フォーマットで、そのうち 5 ビットは各色のために確保されている。
D3DFMT_A1R5G5B5
16 ビットのピクセル フォーマットで、各色に 5 ビットが、アルファ (透過型テクセル) に 1 ビットが、それぞれ確保されている。
D3DFMT_A4R4G4B4
16 ビットの ARGB ピクセル フォーマット。
D3DFMT_R3G3B2
8 ビットの RGB テクスチャ フォーマット。
D3DFMT_A8
8 ビットのアルファのみ。
D3DFMT_A8R3G3B2
16 ビットの ARGB テクスチャ フォーマット。
D3DFMT_X4R4G4B4
16 ビットの RGB ピクセル フォーマットで、そのうち 4 ビットは各色のために確保されている。
D3DFMT_A8P8
サーフェスは、8 ビットのアルファが付いた 8 ビットのカラー インデックス付き。
D3DFMT_P8
サーフェスは、8 ビットのカラー インデックス付き。
D3DFMT_L8
8 ビットの輝度のみ。
D3DFMT_A8L8
16 ビットのアルファ輝度。
D3DFMT_A4L4
8 ビットのアルファ輝度。
D3DFMT_V8U8
16 ビットのバンプマップ フォーマット。
D3DFMT_L6V5U5
輝度の付いた 16 ビットのバンプマップ フォーマット。
D3DFMT_X8L8V8U8
輝度付きの 32 ビット バンプマップ フォーマットで、8 ビットは各要素のために確保されている。
D3DFMT_Q8W8V8U8
32 ビットのバンプマップ フォーマット。
D3DFMT_V16U16
32 ビットのバンプマップ フォーマット。
D3DFMT_W11V11U10
32 ビットのバンプマップ フォーマット。
D3DFMT_UYVY
UYVY フォーマット (PC98 準拠)。
D3DFMT_YUY2
YUY2 フォーマット (PC98 準拠)。
D3DFMT_DXT1
DXT1 圧縮テクスチャ フォーマット。
D3DFMT_DXT2
DXT2 圧縮テクスチャ フォーマット。
D3DFMT_DXT3
DXT3 圧縮テクスチャ フォーマット。
D3DFMT_DXT4
DXT4 圧縮テクスチャ フォーマット。
D3DFMT_DXT5
DXT5 圧縮テクスチャ フォーマット。
D3DFMT_D16_LOCKABLE
16 ビットの Z バッファ ビット深度。これはアプリケーションでロック可能なサーフェス フォーマットである。
D3DFMT_D32
32 ビットの Z バッファ ビット深度。
D3DFMT_D15S1
16 ビットの Z バッファ ビット深度で、15 ビットが深度チャネルに、1 ビットがステンシル チャネルに確保されている。
D3DFMT_D24S8
32 ビットの Z バッファ ビット深度で、24 ビットが深度チャネルに、8 ビットがステンシル チャネルに確保されている。
D3DFMT_D16
16 ビットの Z バッファ ビット深度。
D3DFMT_D24X8
32 ビットの Z バッファ ビット深度で、24 ビットが深度チャネルに確保されている。
D3DFMT_D24X4S4
32 ビットの Z バッファ ビット深度で、24 ビットが深度チャネルに、4 ビットがステンシル チャネルに確保されている。
D3DFMT_VERTEXDATA
頂点バッファ サーフェスを記述する。
D3DFMT_INDEX16
16 ビットのインデックス バッファのビット深度。
D3DFMT_INDEX32
32 ビットのインデックス バッファのビット深度。
D3DFMT_FORCE_DWORD
この列挙型を強制的に 32 ビット サイズにコンパイルする。この値は使用されていない。

注意

レンダリング ターゲット フォーマットはD3DFMT_X1R5G5B5、D3DFMT_R5G6B5、D3DFMT_X8R8G8B8、および D3DFMT_A8R8G8B8 に制限されていることに注意すること。

ビット オーダーは、最上位ビット (MSB) が先頭である。したがって、D3DFMT_A8L8 は、この 2 バイト フォーマットの上位バイトがアルファであることを示している。D3DFMT_D16 は、16 ビットの整数値で、アプリケーションでロック可能なサーフェスを示す。

D3DFMT_D16_LOCKABLEを除くすべての深度ステンシル フォーマットは、ピクセル単位に特定のビット オーダーを指定せず、アプリケーションでロックできないので、ドライバは深度チャネルで指定されたビット数より多くのビットを使用できる (ただし、ステンシル チャネルでは使用できない)。

ピクセル フォーマットは、不透明 DWORD 識別子によって示される。このような DWORD のフォーマットが選択されているのは、IHV で定義されている拡張フォーマットの表現を可能にし、確立されている FOURCC 方式を取り入れるためである。Microsoft® Direct3D® ランタイムが認識するフォーマット群は、D3DFORMAT で定義されている。

IHV で提供されるフォーマットおよび多くの FOURCC コードは、D3DFORMAT 列挙型の一覧には示されていないことに注意する必要がある。この列挙型のフォーマットは、ランタイムによって認められている点がほかのフォーマットと異なる。つまり、リファレンス ラスタライザは、これらの型のすべてで動作する。IHV 提供のフォーマットは、カード単位に個々の IHV によってサポートされる。

動作環境

  ヘッダー : D3d8types.h で宣言。

参照

IDirect3D8::CheckDeviceFormatFOURCC コード