次の方法で共有


PFND3DDDI_CLEAR コールバック関数 (d3dumddi.h)

Clear 関数は、レンダリング ターゲット、深度バッファー、またはステンシル バッファーでハードウェア支援によるクリアを実行します。

構文

PFND3DDDI_CLEAR Pfnd3dddiClear;

HRESULT Pfnd3dddiClear(
  [in] HANDLE hDevice,
       const D3DDDIARG_CLEAR *unnamedParam2,
       UINT unnamedParam3,
       const RECT *unnamedParam4
)
{...}

パラメーター

[in] hDevice

ディスプレイ デバイスへのハンドル (グラフィックス コンテキスト)。

unnamedParam2

pData [in]

ハードウェア支援クリア操作のパラメーターを記述する D3DDDIARG_CLEAR 構造体へのポインター。

unnamedParam3

NumRect [in]

クリアする pRect 配列内の四角形の数。 四角形の数が 0 に設定されている場合は、[クリア] レンダー ターゲット、深度バッファー、ステンシル バッファー全体をクリアする必要があります。 この状況では、pRect 配列の内容は未定義であり、ドライバーはそれらを読み取ろうとしないでください。

unnamedParam4

pRect [in]

ドライバーがクリアする必要があるバッファーの四角形領域を示す RECT 構造体の配列。

戻り値

クリア は、ハードウェア支援のクリア操作が正常に実行されなかった場合に、S_OKまたは適切なエラー結果を返します。

備考

ドライバーがクリア操作を実行する方法は、NumRect パラメーターで指定されている四角形領域の数と、D3DDDIARG_CLEARFlags メンバーに設定されている値によって異なります。 D3DCLEAR_TARGET、D3DCLEAR_STENCIL、およびD3DCLEAR_ZBUFFER値 (D3d8types.hで定義) は、クリアするバッファーの種類を示します。 D3DCLEAR_COMPUTERECTS値 (D3dhal.hで定義) は、バッファーをクリアする方法を示します。 次の設定は、ドライバーが指定したバッファーの種類をクリアする方法を示します。

  • NumRect が 0 (NumRect== 0) に設定され、D3DCLEAR_COMPUTERECTSが Flagsで設定されていない場合、ドライバーは 0 ピクセル (つまり、no-op) をクリアします。
  • numRect が 0 に設定され、D3DCLEAR_COMPUTERECTSが Flagsで設定されている場合、ドライバーはビューポート全体 (サーフェス全体ではなく) をクリアします。
  • NumRect が 0 (NumRect!= 0) より大きい値に設定され、FlagsでD3DCLEAR_COMPUTERECTSが設定されている場合、ドライバーは pRect が現在のビューポートに対して指定 四角形領域をクリップします。
シザー テストは、ドライバーがクリア操作を実行する方法にも影響します。 アプリケーションは、IDirect3DDevice9::SetRenderState メソッドの呼び出しでD3DRS_SCISSORTESTENABLEレンダリング状態を設定して、シザー テストを有効にします。 シザーテストの詳細については、「シザーテスト」を参照してください。 D3DRS_SCISSORTESTENABLEレンダリング状態が設定され、D3DCLEAR_COMPUTERECTS フラグが設定されている場合、ドライバーは pRect が指定する四角形領域 四角形領域を切り取る必要があります。

NumRect が 0 (NumRect> 0) より大きい値に設定され、D3DCLEAR_COMPUTERECTSが Flagsで設定されている場合、ドライバーは、指定した四角形領域を現在のビューポートにクリップし、アプリケーションが以前にD3DRS_SCISSORTESTENABLEを設定した場合は、シザー四角形にクリップします。 NumRect> 0 と D3DCLEAR_COMPUTERECTS が設定されていない場合、ドライバーは、Direct3D ランタイムが指定した四角形領域を既に現在のビューポートにクリップし、アプリケーションが以前にD3DRS_SCISSORTESTENABLE設定した場合はシザー四角形にクリップしたと判断します。

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー d3dumddi.h (D3dumddi.h を含む)

関連項目

D3DDDIARG_CLEAR

D3DDDI_DEVICEFUNCS

RECT