PFND3D10DDI_SETRENDERTARGETS コールバック関数 (d3d10umddi.h)

SetRenderTargets コールバック関数セットは、レンダー ターゲット サーフェスを設定します。

構文

PFND3D10DDI_SETRENDERTARGETS Pfnd3d10ddiSetrendertargets;

void Pfnd3d10ddiSetrendertargets(
  [in] D3D10DDI_HDEVICE unnamedParam1,
  [in] const D3D10DDI_HRENDERTARGETVIEW *unnamedParam2,
  [in] UINT NumViews,
  [in] UINT ClearSlots,
  [in] D3D10DDI_HDEPTHSTENCILVIEW unnamedParam5
)
{...}

パラメーター

[in] unnamedParam1

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

[in] unnamedParam2

phRenderTargetView: 設定するレンダー ターゲット ビュー オブジェクトへのハンドルの配列。 一部のハンドル値には NULL を指定できます。

[in] NumViews

: phRenderTargetView が指定する配列内の要素の数。

[in] ClearSlots

NumViewsNULL に設定するように指定したスロットの数の後のレンダー ターゲット スロットの数。 この数値は、以前のレンダー ターゲット ビュー オブジェクトの数 (つまり、Microsoft Direct3D ランタイムが以前 に SetRenderTargets と呼んだ場合) と、新しい数のレンダー ターゲット ビュー オブジェクトの差を表します。

ClearTargets が指定する数値は、ユーザー モードのディスプレイ ドライバーがこの数値を計算できるため、最適化に役立ちます。

[in] unnamedParam5

hDepthStencilView: 深度ステンシル ビューへのハンドル。

戻り値

なし

解説

ドライバーは、 pfnSetErrorCb コールバック関数を使用してエラー コードを設定できます。

ユーザー モード ディスプレイ ドライバーは、すべてのレンダー ターゲット サーフェスと深度ステンシル バッファーを 1 つの操作としてアトミックに設定する必要があります。

NumViews パラメーターは、phRenderTargetView パラメーターが指定する配列内のハンドルの数を指定しますが、配列内の一部のハンドル値は NULL にすることができます。

NumViews が指定する数と、すべての NULL 値または非連結値を含めるために必要なレンダー ターゲット サーフェスの最大数との間のレンダー ターゲット サーフェスの範囲。 ClearTargets パラメーターが指定する数値は、現在のアトミック操作でドライバーがクリアする必要があるバインド ポイントの数をドライバーに通知します。

以前の SetRenderTargets の呼び出しで NumViews パラメーターに値 2 が渡され、SetRenderTargets の現在の呼び出しで NumViews で値 4 が渡された場合、SetRenderTargets の現在の呼び出しでは ClearTargets パラメーターの値 0 も渡されます。 SetRenderTargets への次の連続する呼び出しが NumViews で 1 の値を渡した場合、連続する呼び出しでは ClearTargets で値 3 (4 - 1) も渡されます。

ユーザー モードのクエリ操作中にクリア ターゲットの値が要求された場合、値はレンダー ターゲット サーフェスの最大数とレンダー ターゲットの値の差です。

ドライバーは、D3DDDIERR_DEVICEREMOVEDを除き、エラーが発生しないようにする必要があります。 したがって、ドライバーが pfnSetErrorCb 関数の呼び出しで、D3DDDIERR_DEVICEREMOVEDを除くエラーを渡した場合、Microsoft Direct3D ランタイムはエラーが重大であると判断します。 デバイスが削除された場合でも、ドライバーはD3DDDIERR_DEVICEREMOVEDを返す必要はありません。ただし、デバイスの削除が SetRenderTargets の操作に干渉した場合 (通常は発生しないはずです)、ドライバーはD3DDDIERR_DEVICEREMOVEDを返すことができます。

要件

要件
サポートされている最小のクライアント Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。
対象プラットフォーム デスクトップ
Header d3d10umddi.h (D3d10umddi.h を含む)

こちらもご覧ください

D3D10DDI_DEVICEFUNCS

pfnSetErrorCb