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 を含む)

こちらもご覧ください

D3D10DDI_DEVICEFUNCS

Rect

pfnSetErrorCb