DDPIXELFORMAT
DDPIXELFORMAT 構造体は、IDirectDrawSurface7::GetPixelFormat メソッドに対する DirectDrawSurface オブジェクトのピクセル フォーマットを記述する。
typedef struct _DDPIXELFORMAT{
DWORD dwSize;
DWORD dwFlags;
DWORD dwFourCC;
union
{
DWORD dwRGBBitCount;
DWORD dwYUVBitCount;
DWORD dwZBufferBitDepth;
DWORD dwAlphaBitDepth;
DWORD dwLuminanceBitCount;
DWORD dwBumpBitCount;
} DUMMYUNIONNAMEN(1);
union
{
DWORD dwRBitMask;
DWORD dwYBitMask;
DWORD dwStencilBitDepth;
DWORD dwLuminanceBitMask;
DWORD dwBumpDuBitMask;
} DUMMYUNIONNAMEN(2);
union
{
DWORD dwGBitMask;
DWORD dwUBitMask;
DWORD dwZBitMask;
DWORD dwBumpDvBitMask;
} DUMMYUNIONNAMEN(3);
union
{
DWORD dwBBitMask;
DWORD dwVBitMask;
DWORD dwStencilBitMask;
DWORD dwBumpLuminanceBitMask;
} DUMMYUNIONNAMEN(4);
union
{
DWORD dwRGBAlphaBitMask;
DWORD dwYUVAlphaBitMask;
DWORD dwLuminanceAlphaBitMask;
DWORD dwRGBZBitMask;
DWORD dwYUVZBitMask;
} DUMMYUNIONNAMEN(5);
} DDPIXELFORMAT, FAR* LPDDPIXELFORMAT;
メンバ
- dwSize
- バイト単位の構造体のサイズ。このメンバは、構造体を使用する前に初期化しなくてはならない。
- dwFlags
- 以下に、オプション制御フラグを示す。
- DDPF_ALPHA
- ピクセル フォーマットは、アルファ専用サーフェスを記述する。
- DDPF_ALPHAPIXELS
- サーフェスには、ピクセル フォーマットのアルファ チャネル情報がある。
- DDPF_ALPHAPREMULT
- サーフェスは、あらかじめ増やしたアルファ フォーマットを使用する。つまり、個々のピクセルの色成分は、アルファ成分をあらかじめ掛けられている。
- DDPF_BUMPLUMINANCE
- ピクセル フォーマットの輝度データは有効である。また、dwLuminanceBitMask メンバは、輝度専用または輝度アルファ サーフェスに対する有効な輝度ビットを記述する。
- DDPF_BUMPDUDV
- ピクセル フォーマットのバンプマップ データは有効である。バンプマップ情報は、dwBumpBitCount、dwBumpDuBitMask、dwBumpDvBitMask、および dwBumpLuminanceBitMask メンバにある。
- DDPF_COMPRESSED
- サーフェスは指定されたフォーマットでピクセル データを受け取り、書き込み処理中にそのデータを圧縮する。
- DDPF_FOURCC
- dwFourCC メンバは有効で、非 RGB ピクセル フォーマットを記述する FOURCC コードを含む。
- DDPF_LUMINANCE
- ピクセル フォーマットは、輝度専用または輝度アルファ サーフェスを記述する。
- DDPF_PALETTEINDEXED1
- DDPF_PALETTEINDEXED2
- DDPF_PALETTEINDEXED4
- DDPF_PALETTEINDEXED8
- サーフェスは、1 ビット、2 ビット、4 ビット、または 8 ビットの色でインデックスされている。
- DDPF_PALETTEINDEXEDTO8
- サーフェスは、1 ビット、2 ビット、4 ビットの色を 8 ビット パレットにインデックスしている。
- DDPF_RGB
- ピクセル フォーマット構造体の RGB データは有効である。
- DDPF_RGBTOYUV
- サーフェスは RGB データを受け取り、書き込み処理中に YUV データにそのデータを変換する。書き込むデータのフォーマットは、ピクセル フォーマット構造体に含まれる。DDPF_RGB フラグを設定する。
- DDPF_STENCILBUFFER
- サーフェスは、Z バッファの個々のピクセルにおけるステンシルと深度情報を符号化する。このフラグは、DDPF_ZBUFFER フラグが同様に指定される場合だけに使用できる。
- DDPF_YUV
- ピクセル フォーマット構造体の YUV データは有効である。
- DDPF_ZBUFFER
- ピクセル フォーマットは、Z バッファ専用サーフェスを記述する。
- DDPF_ZPIXELS
- サーフェスは、ピクセルの z 情報を含む。
- dwFourCC
- FOURCC コード。詳細情報は、「4 文字コード (FOURCC) 」を参照すること。
- dwRGBBitCount
- RGB ビット/ピクセル (4、8、16、24、または 32)。
- dwYUVBitCount
- YUV ビット/ピクセル (4、8、16、24、または 32)。
- dwZBufferBitDepth
- Z バッファ ビット深度 (8、16、24、または 32)。
- dwAlphaBitDepth
- アルファ専用サーフェス (DDPF_ALPHA) のためのアルファ チャネル ビット深度 (1、2、4、または 8)。アルファ情報を含むピクセル フォーマットは色データ (DDPF_ALPHAPIXELS) でインターリーブされるため、dwRGBAlphaBitMask メンバのビットをカウントし、アルファ成分のビット深度を取得する。詳細情報は注意を参照すること。
- dwLuminanceBitCount
- 総輝度ビット/ピクセル。このメンバは、輝度専用および輝度アルファ サーフェスだけに適用する。
- dwBumpBitCount
- バンプマップ サーフェスの総バンプマップ ビット/ピクセル。
- dwRBitMask
- 赤ビットのマスク。
- dwYBitMask
- Y ビットのマスク。
- dwStencilBitDepth
- ステンシル バッファのビット深度。このメンバは、ステンシル情報の Z バッファの各ピクセル内で確保されるビットの数を指定する。(z ビットの総数は dwZBufferBitDepth から dwStencilBitDepth を引いた数と等しい)。
- dwLuminanceBitMask
- 輝度ビットのマスク。
- dwBumpDuBitMask
- バンプマップ U デルタ ビットのマスク。
- dwGBitMask
- 緑ビットのマスク。
- dwUBitMask
- U ビットのマスク。
- dwZBitMask
- z ビットのマスク。
- dwBumpDvBitMask
- バンプマップ V デルタ ビットのマスク。
- dwBBitMask
- 青ビットのマスク。
- dwVBitMask
- V ビットのマスク。
- dwStencilBitMask
- 各 Z バッファ ピクセル内のステンシル ビットのマスク。
- dwBumpLuminanceBitMask
- バンプマップ ピクセルの輝度のマスク。
- dwRGBAlphaBitMask、dwYUVAlphaBitMask、dwLuminanceAlphaBitMask
- アルファ チャネルのマスク。
- dwRGBZBitMask、dwYUVZBitMask
- z チャネルのマスク。
注意
dwAlphaBitDepth メンバは、アルファ専用ピクセル フォーマット (DDPF_ALPHA) のビット深度を反映する。色成分 (DDPF_ALPHAPIXELS) と共にアルファ成分を含むピクセル フォーマットのために、アルファ ビット深度はさまざまなマスク メンバのビットを数えることで取得される。次のコード例は、与えられたビットマスクのビット セット数を返す。
WORD GetNumberOfBits( DWORD dwMask )
{
WORD wBits = 0;
while( dwMask )
{
dwMask = dwMask & ( dwMask - 1 );
wBits++;
}
return wBits;
}
この構造体の集合は、名前のない集合をサポートしないコンパイラで機能するように更新されている。コンパイラが名前のない集合をサポートしない場合、Ddraw.h ヘッダー ファイルをインクルードする前に NONAMELESSUNION トークンを定義する。
Windows NT/2000 : Windows NT 4.0 Service Pack 3 またはそれ以降が必要。
Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
ヘッダー : ddraw.h で宣言。
参照
オフスクリーン サーフェス フォーマット