次の方法で共有


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

unnamedParam4

pRect [in]

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

戻り値

Clear は、ハードウェア支援のクリア操作が正常に実行されない場合は、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) より大きい値に設定され、D3DCLEAR_COMPUTERECTSが Flags に設定されている場合、ドライバーは 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設定した場合は、シザー四角形にクリップしたと判断します。

要件

要件
対象プラットフォーム デスクトップ
Header d3dumddi.h (D3dumddi.h を含む)

こちらもご覧ください

D3DDDIARG_CLEAR

D3DDDI_DEVICEFUNCS

Rect