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_DP2COMMANDwStateCount メンバーには、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

D3DHAL_DP2COMMAND

DDPIXELFORMAT