FORMATOP 構造体 (d3dumddi.h)
FORMATOP 構造体は、このようなサーフェスで実行できるサーフェス形式と操作を記述します。
構文
typedef struct _FORMATOP {
[in] D3DDDIFORMAT Format;
[out] UINT Operations;
[out] UINT FlipMsTypes;
[out] UINT BltMsTypes;
[out] UINT PrivateFormatBitCount;
} FORMATOP;
メンバーズ
[in] Format
サーフェスのピクセル形式を示す D3DDDIFORMAT型指定された値。
[out] Operations
Format メンバーで指定されたピクセル形式のサーフェスで実行できる操作を示す、次のフラグの有効なビットごとの または。 次のフラグの一部は、他のフラグを使用する必要があることを意味します。 ドライバーが他のフラグを意味するフラグを設定する場合、ドライバーは暗黙的なフラグを設定する必要はありません、Direct3D ランタイムは、暗黙的なフラグの使用を決定します。
FORMATOP_TEXTURE (0x00000001L)
指定したピクセル形式のサーフェスは、MIP マップテクスチャとして使用できます。
FORMATOP_VOLUMETEXTURE (0x00000002L)
この形式のサーフェスは、ボリューム テクスチャとして使用できます。 このフラグはFORMATOP_TEXTUREとは無関係であることに注意してください。 そのため、ピクセル形式は、従来の MIP マップ テクスチャではなく、ボリューム テクスチャに使用できます。
FORMATOP_CUBETEXTURE (0x00000004L)
この形式のサーフェスは、3 次環境マップ テクスチャとして使用できます。 このフラグはFORMATOP_TEXTUREとは無関係であることに注意してください。 そのため、ピクセル形式は、従来の MIP マップ テクスチャではなく、3 次環境マップ テクスチャに使用できます。
FORMATOP_OFFSCREEN_RENDERTARGET (0x00000008L)
現在の表示モードのピクセル形式がFORMATOP_DISPLAYMODEおよびFORMATOP_3DACCELERATIONで報告された場合、この形式のサーフェスは、表示モードのピクセル形式に関係なく、オフスクリーン レンダー ターゲットとして使用できます。 現在の表示モードのピクセル形式にこれらのフラグが設定されていない場合、レンダー ターゲットがオフスクリーンの場合でも、このモードでは 3-D アクセラレーションを使用できません。 FORMATOP_OFFSCREEN_RENDERTARGET フラグをFORMATOP_TEXTUREと組み合わせて、指定したピクセル形式のテクスチャにデバイスをレンダリングできることを示すことができます。
FORMATOP_OFFSCREEN_RENDERTARGET フラグは、FORMATOP_SAME_FORMAT_RENDERTARGETフラグとFORMATOP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET フラグも意味します。
FORMATOP_SAME_FORMAT_RENDERTARGET (0x00000010L)
この形式のサーフェスはレンダー ターゲットとして使用できますが、サーフェスのピクセル形式が現在の表示モードのピクセル形式と一致する場合にのみ使用できます。 このフラグは、オフスクリーン レンダー ターゲットにのみ適用されるわけではありませんが、表示モードのピクセル形式で指定して、レンダリング ターゲットの機能を示すことができます。 このフラグをFORMATOP_TEXTUREと組み合わせて、デバイスが指定したピクセル形式のテクスチャにレンダリングできることを示すことができます。
FORMATOP_SAME_FORMAT_RENDERTARGET フラグは、FORMATOP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET フラグも意味します。
FORMATOP_ZSTENCIL (0x00000040L)
この形式のサーフェスは Z/ステンシル バッファーとして使用できますが、Z/ステンシル サーフェスの深度が深度バッファーがアタッチされているレンダリング ターゲットの色深度と一致する場合にのみ使用できます。 Z/ステンシルとカラー バッファーの深度の一致を決定するときは、ピクセルストライドを使用します。
FORMATOP_ZSTENCIL_WITH_ARBITRARY_COLOR_DEPTH (0x00000080L)
この形式のサーフェスは、サーフェスがアタッチされているレンダー ターゲットの色深度に関係なく、Z/ステンシル バッファーとして使用できます。
FORMATOP_ZSTENCIL_WITH_ARBITRARY_COLOR_DEPTH フラグは、FORMATOP_ZSTENCIL フラグも意味します。
FORMATOP_SAME_FORMAT_UP_TO_ALPHA_RENDERTARGET (0x00000100L)
現在の表示モードが同じ深度でアルファ チャネルが無視される場合、この形式のサーフェスをレンダー ターゲットとして使用できます。 たとえば、表示モードがX8R8G8B8されたときにデバイスがA8R8G8B8にレンダリングできる場合、A8R8G8B8の書式操作リスト エントリには、このフラグが設定されている必要があります。
FORMATOP_DISPLAYMODE (0x00000400L)
ドライバー モデルでサポートされているこのピクセル形式の表示モード (Flip を含む)。 このフラグはアルファ形式では設定しないでください。
FORMATOP_3DACCELERATION (0x00000800L)
グラフィックス アクセラレータは、このピクセル形式の表示モードの場合、Microsoft Direct3D アクセラレーションの一部のレベルをサポートでき、ドライバーはこのモードでコンテキストを作成できます (一部のレンダー ターゲット形式の場合)。 このフラグは、(FORMATOP_DISPLAYMODEを指定して) 表示モード形式を報告する場合にのみ使用できます。 このフラグは、オフスクリーン レンダー ターゲットの形式をレポートするために使用しないでください。
FORMATOP_PIXELSIZE (0x00001000L)
ドライバーは、PrivateFormatBitCount メンバーの形式のピクセルあたりのビット数を入力します。
ドライバーで、マネージド サーフェイスとテクスチャでプライベート形式 (ドライバーで処理できますが、Direct3D ランタイムではネイティブに処理できない形式) を使用する必要がある場合、ドライバーは、FORMATOP_PIXELSIZEと、PrivateFormatBitCount のピクセル サイズ指定する必要があります。
FORMATOP_CONVERT_TO_ARGB (0x00002000L)
この形式のソース サーフェスは、FORMATOP_MEMBEROFGROUP_ARGB フラグが指定された RGB ピクセル形式で任意のターゲット サーフェスに変換できます。
FORMATOP_OFFSCREENPLAIN (0x00004000L)
ドライバーは、この形式の塗りつぶしサーフェスとの間で引き伸ばすことができます。
FORMATOP_SRGBREAD (0x00008000L)
この形式のサーフェスは、sRGB 形式のテクスチャとして読み取ることができます (つまり、サンプラーは検索されたデータを線形化します)。
FORMATOP_BUMPMAP (0x00010000L)
この形式のサーフェスは、バンプ環境マップ テクスチャとして使用できます。 このフラグはFORMATOP_TEXTUREとは無関係であることに注意してください。 そのため、ピクセル形式は、従来の MIP マップ テクスチャではなく、バンプ環境マップ テクスチャに使用できます。
FORMATOP_DMAP (0x00020000L)
ディスプレイスメント マップ サンプラーは、この形式のサーフェスをサンプリングできます。
FORMATOP_NOFILTER (0x00040000L)
この形式のサーフェスは、テクスチャ フィルタリングでは使用できません。
FORMATOP_MEMBEROFGROUP_ARGB (0x00080000L)
この形式のターゲット サーフェスは、FORMATOP_CONVERT_TO_ARGB フラグが指定されたピクセル形式の任意のソース サーフェスから変換できます。 ドライバーは、チャネルごとに少なくとも 5 ビットの色情報を持つ ARGB サーフェスに対してのみ、FORMATOP_MEMBEROFGROUP_ARGBを指定できます。 つまり、D3DDDIFMT_A1R5G5B5形式は有効ですが、D3DDDIFMT_A4R4G4B4形式は無効です。 ドライバーが無効な形式のFORMATOP_MEMBEROFGROUP_ARGBを指定した場合、Direct3D ランタイムは Direct3D HAL の読み込みを禁止します。 このフラグは ARGB 形式を示しますが、ランタイムではドライバーが XRGB 形式 (D3DDDIFMT_X1R5G5B5 など) を持つサーフェスを指定することもできます。
FORMATOP_SRGBWRITE (0x00100000L)
この形式のサーフェスは、sRGB形式のターゲットとして書き込むことができます (つまり、ピクセル パイプは出力のデータをこの形式に対して線化します)。
FORMATOP_NOALPHABLEND (0x00200000L)
この形式のサーフェスは、アルファ ブレンドでは使用できません。
FORMATOP_AUTOGENMIPMAP (0x00400000L)
この形式の MIP マップ テクスチャのサブレベルを自動的に生成できます。 ドライバーが GenerateMipSubLevels 関数の呼び出しを受信するには、このフラグを公開する必要があります。
FORMATOP_VERTEXTEXTURE (0x00800000L)
頂点テクスチャ サンプラーでは、この形式のサーフェスを使用できます。 つまり、頂点テクスチャとして使用できるのは、この形式のサーフェスだけです。
FORMATOP_NOTEXCOORDWRAPNORMIP (0x01000000L)
この形式のサーフェスは、2 の累乗ではないサイズの 2-D テクスチャのテクスチャ マッピングにのみ条件付きで使用できます。 詳細については、「D3DPRIMCAPS リファレンス」ページのD3DPTEXTURECAPS_POW2とD3DPTEXTURECAPS_NONPOW2CONDITIONALの定義を参照してください。
FORMATOP_PLANAR (0x02000000L)
この形式のサーフェスは平面とパックされています。 Direct3D ランタイムは、サーフェスが失われ、ピッチ乗算時間の高さの一般的な計算が不可能な状態で、平面形式のサーフェスでユーザー モード ディスプレイ ドライバーの Lock 関数を呼び出す場合にバッファーを割り当てる必要があります。 ほとんどの形式は、Microsoft DirectX ビデオ アクセラレーションで使用される形式 (YUV 形式など) を除いてパックされます。
FORMATOP_OVERLAY (0x04000000L)
この形式のサーフェスは、オーバーレイ操作に使用されます。
FORMATOP_CAPTURE (0x08000000L)
VideoEncoderD3DDDI_RESOURCEFLAGS2 構造体のメンバーが設定されている場合は、この形式のサーフェイスをキャプチャ バッファーとして使用できます。
Windows 8 以降でサポートされています。
FORMATOP_VIDEO_ENCODER (0x10000000L)
VideoEncoderD3DDDI_RESOURCEFLAGS2 構造体のメンバーが設定されている場合、この形式のサーフェスをビデオ エンコーダー入力リソースとして使用できます。
Windows 8 以降でサポートされています。
FORMATOP_MULTIPLANE_OVERLAY (0x20000000L)
この形式のサーフェスは、マルチプレーン オーバーレイをサポートします。
Windows 8 以降でサポートされています。
[out] FlipMsTypes
全画面表示の複数サンプリング用の 32 ビットマスク。
[out] BltMsTypes
ウィンドウ化された複数のサンプリング用の 32 ビットマスク。
[out] PrivateFormatBitCount
ドライバーに対してプライベートなピクセル形式のピクセルあたりのビット数 (つまり、D3DDDIFORMAT 列挙型で定義されている標準的なピクセル形式の 1 つではありません)。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。 |
ヘッダー | d3dumddi.h (D3dumddi.h を含む) |
関連項目
GetCaps の