次の方法で共有


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

必要条件

要件 価値
サポートされる最小クライアント DrawIndexedInstancedIndirect は、Windows 7 オペレーティング システム以降でサポートされています。
ターゲット プラットフォーム デスクトップ
ヘッダー d3d10umddi.h (D3d10umddi.h を含む)

関連項目

CreateResource(D3D11)

D3D11DDIARG_CREATERESOURCE

D3D11DDI_DEVICEFUNCS

DrawIndexedInstanced

pfnSetErrorCb