D3DHAL_DP2CLEAR構造体 (d3dhal.h)
D3DHAL_DP2CLEARには、レンダリング ターゲット、深度バッファー、またはステンシル バッファーに対してハードウェア支援のクリアを実行するためにドライバーが必要とするすべての情報が含まれています。
構文
typedef struct _D3DHAL_DP2CLEAR {
DWORD dwFlags;
DWORD dwFillColor;
D3DVALUE dvFillDepth;
DWORD dwFillStencil;
RECT Rects[1];
} D3DHAL_DP2CLEAR;
メンバー
dwFlags
ドライバーがクリアするバッファーを指定します。 このメンバーには、次の値のビットごとの OR を指定できます。
Value | 意味 |
---|---|
D3DCLEAR_TARGET | ドライバーは、dwFillColor メンバーによって指定された色にコンテキストのレンダー ターゲットをクリアする必要があります。 |
D3DCLEAR_STENCIL | ドライバーは、dwFillStencil メンバーによって指定された値にコンテキストのステンシル バッファーをクリアする必要があります。 |
D3DCLEAR_ZBUFFER | ドライバーは、dwFillDepth メンバーによって指定された深さにコンテキストの深度バッファーをクリアする必要があります。 |
D3DCLEAR_COMPUTERECTS | DirectX 8.0 以降のバージョンのみ。 このフラグが設定されている場合は、指定した四角形を現在のビューポートに対してクリップする必要があります。 さらに、D3DCLEAR_COMPUTERECTSを指定すると、クリアする四角形の数を 0 にすることができます (クリアする四角形の数は、clear の D3DHAL_DP2COMMAND 構造体の wStateCount/wPrimtiveCount 和集合にあります)。 この場合、ビューポート全体をクリアする必要があります。 |
dwFillColor
ドライバーがコンテキストのレンダー ターゲットをクリアする色を指定します。
dvFillDepth
ドライバーがコンテキストの深度バッファーの深さを設定するために使用する必要がある値を指定します。 このメンバーには、間隔 0.0 から 1.0 の値を指定できます。 ドライバーは、深度バッファーの DDPIXELFORMAT 構造体の dwZBitMask メンバーを使用して、この値を整数に変換する必要があります。
dwFillStencil
ドライバーがコンテキストのステンシル バッファーをクリアする必要がある値を指定します。 このメンバーには、間隔 0 から 2ⁿ-1 の整数を指定できます。 ここで、n はステンシル バッファー内のビット数です。
Rects[1]
ドライバーがクリアするバッファーの四角形の領域を指定します。 四角形は画面座標で指定されます。 構造体のこのメンバーには、blitted する最初の四角形領域が含まれています。 D3DHAL_DP2COMMANDの wStateCount メンバーには、blitted する四角形領域の合計数が含まれます。 必要なもう 1 つの (wStateCount-1) RECT 構造体は、埋め込みを行わずにD3DHAL_DP2CLEAR構造体に従います。
注釈
この構造体は、従来の D3dClear コールバックと D3dClear2 コールバックを置き換えるために、D3DDP2OP_CLEAR コマンド トークンと共 に 使用されます。
四角形の数が 0 の場合でも、D3DHAL_DP2CLEARデータ構造には 1 つの RECT の領域が含まれていることに注意してください。 したがって、次の DP2 命令に進むときに、この 1 つの RECT のサイズを含める必要があります。 ただし、この場合の RECT の内容は未定義であり、ドライバーはそれらを読み取ろうとしないでください。
ディスプレイ ドライバーは、色形式の ARGB クラスと YUV クラスの入力色値を変換する必要があります。 クリア操作の場合は、 dwFillColor メンバーで入力色の値が指定されます。 詳細については、「 ピクセル形式の色値の処理」を参照してください。
要件
要件 | 値 |
---|---|
Header | d3dhal.h (D3dhal.h を含む) |
こちらもご覧ください
D3DDP2OP_CLEAR