PFND3D10DDI_SETSCISSORRECTS コールバック関数 (d3d10umddi.h)
SetScissorRects 関数は、レンダリングが制限されているレンダー ターゲットの一部をマークします。
構文
PFND3D10DDI_SETSCISSORRECTS Pfnd3d10ddiSetscissorrects;
void Pfnd3d10ddiSetscissorrects(
D3D10DDI_HDEVICE unnamedParam1,
[in] UINT NumRects,
[in] UINT ClearRects,
const D3D10_DDI_RECT *unnamedParam4
)
{...}
パラメーター
unnamedParam1
hDevice [in]
ディスプレイ デバイスへのハンドル (グラフィックス コンテキスト)。
[in] NumRects
pRects パラメーターが指定するレンダー ターゲット部分の合計数。
[in] ClearRects
NumScissorRects が NULL に設定するように指定したレンダー ターゲット部分の数の後のレンダー ターゲット部分の数。 この数値は、以前のレンダー ターゲット部分の数 (つまり、以前に SetScissorRects と呼ばれた Microsoft Direct3D ランタイムの場合) と新しいレンダー ターゲット部分の数の差を表します。
ClearScissorRects が指定する数値は、ユーザー モードのディスプレイ ドライバーがこの数値を計算できるため、最適化に役立ちます。
unnamedParam4
pRects [in]
マークするレンダー ターゲット部分の RECT 構造体の配列。
戻り値
なし
解説
ドライバーは、 pfnSetErrorCb コールバック関数を使用してエラー コードを設定できます。
D3D10_DDI_RECT構造体は RECT 構造体として定義されます。
typedef RECT D3D10_DDI_RECT;
ユーザー モード ディスプレイ ドライバーは、すべてのレンダー ターゲット部分を 1 つの操作としてアトミックに設定する必要があります。
NumScissorRects パラメーターは、pRects パラメーターが指定する配列内のレンダー ターゲット部分の数を指定しますが、配列内の一部の値は NULL にすることができます。
NumScissorRects が指定する数と、すべての NULL 値または非連結値を含めるために必要なレンダー ターゲット部分の最大数との間のレンダー ターゲット部分の範囲。 ClearScissorRects パラメーターが指定する数値は、現在のアトミック操作でドライバーがクリアする必要があるレンダー ターゲット部分の数をドライバーに通知します。
SetScissorRects の前回の呼び出しで NumScissorRects パラメーターに値 2 が渡され、SetScissorRects への現在の呼び出しで NumScissorRects の値が 4 に渡された場合、SetScissorRects への現在の呼び出しでは ClearScissorRects パラメーターの値 0 も渡されます。 SetScissorRects への次の連続する呼び出しが NumScissorRects で値 1 を渡した場合、連続する呼び出しでは ClearScissorRects の値 3 (4 - 1) も渡されます。
ユーザー モードのクエリ操作中に clear render-target 部分の値が要求された場合、値はレンダー ターゲット部分の最大数と render-target 部分の値の差です。
ドライバーは、D3DDDIERR_DEVICEREMOVEDを除き、エラーが発生しないようにする必要があります。 したがって、ドライバーが pfnSetErrorCb 関数の呼び出しで、D3DDDIERR_DEVICEREMOVEDを除くエラーを渡した場合、Microsoft Direct3D ランタイムはエラーが重大であると判断します。 デバイスが削除された場合でも、ドライバーはD3DDDIERR_DEVICEREMOVEDを返す必要はありません。ただし、デバイスの削除が SetScissorRects (通常は発生しないはずです) の操作に干渉した場合、ドライバーはD3DDDIERR_DEVICEREMOVEDを返すことができます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。 |
対象プラットフォーム | デスクトップ |
Header | d3d10umddi.h (D3d10umddi.h を含む) |