PFND3D11DDI_DRAWINDEXEDINSTANCEDINDIRECT コールバック関数 (d3d10umddi.h)
DrawIndexedInstancedIndirect 関数は、インデックス付きプリミティブの特定のインスタンスを描画します。
構文
PFND3D11DDI_DRAWINDEXEDINSTANCEDINDIRECT Pfnd3d11ddiDrawindexedinstancedindirect;
void Pfnd3d11ddiDrawindexedinstancedindirect(
D3D10DDI_HDEVICE unnamedParam1,
D3D10DDI_HRESOURCE unnamedParam2,
UINT unnamedParam3
)
{...}
パラメーター
unnamedParam1
hDevice [in]
ディスプレイ デバイスへのハンドル (グラフィックス コンテキスト)。
unnamedParam2
hBufferForArgs
処理する DrawIndexedInstancedIndirect の引数を含むバッファーへのハンドル。 バッファーには、次の密パック構造が含まれています。
struct DrawIndexedInstancedIndirectArgs {
UINT IndexCountPerInstance;
UINT InstanceCount;
UINT StartIndexLocation;
INT BaseVertexLocation;
UINT StartInstanceLocation;
}
これらの引数の詳細については、 DrawIndexedInstanced リファレンス ページを参照してください。
unnamedParam3
AlignedByteOffsetForArgs
hBufferForArgs が指定するバッファーへのオフセット (バイト単位)。 AlignedByteOffsetForArgs は 4 の倍数である必要があります。
戻り値
なし
解説
ドライバーは、 pfnSetErrorCb コールバック関数を使用してエラー コードを設定できます。
DrawIndexedInstancedIndirect 関数は、ドライバーの DrawIndexedInstanced 関数の呼び出しと同じタスクを実行します。 ただし、 DrawIndexedInstancedIndirect は 、hBufferForArgs パラメーターが指定するバッファーの内容からインデックス プリミティブに関する情報を取得します。 DrawIndexedInstancedIndirect は、 AlignedByteOffsetForArgs パラメーターが指定するバイト オフセットから始まるバッファーの内容を読み取ります。
Direct3D ランタイムがドライバーの CreateResource(D3D11) 関数を呼び出して hBufferForArgs パラメーターが指定するバッファー リソースを作成する場合、ランタイムは、D3D11DDIARG_CREATERESOURCE構造体の MiscFlags メンバーに D3D11_DDI_RESOURCE_MISC_DRAWINDIRECT_ARGS フラグを設定する必要があります。
ドライバーは、D3DDDIERR_DEVICEREMOVEDを除き、エラーが発生しないようにする必要があります。 したがって、ドライバーが pfnSetErrorCb 関数の呼び出しで、D3DDDIERR_DEVICEREMOVEDを除くエラーを渡した場合、Direct3D ランタイムはエラーが重大であると判断します。 デバイスが削除された場合でも、ドライバーはD3DDDIERR_DEVICEREMOVEDを返す必要はありません。ただし、デバイスの削除 が DrawIndexedInstancedIndirect (通常は発生しないはずです) の操作に干渉する場合、ドライバーはD3DDDIERR_DEVICEREMOVEDを返すことができます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | DrawIndexedInstancedIndirect は、Windows 7 オペレーティング システム以降でサポートされています。 |
対象プラットフォーム | デスクトップ |
Header | d3d10umddi.h (D3d10umddi.h を含む) |