PFND3D11DDI_DRAWINDEXEDINSTANCEDINDIRECT回呼函式 (d3d10umddi.h)
DrawIndexedInstancedIndirect 函式會繪製索引基本類型的特定實例。
語法
PFND3D11DDI_DRAWINDEXEDINSTANCEDINDIRECT Pfnd3d11ddiDrawindexedinstancedindirect;
void Pfnd3d11ddiDrawindexedinstancedindirect(
D3D10DDI_HDEVICE unnamedParam1,
D3D10DDI_HRESOURCE unnamedParam2,
UINT unnamedParam3
)
{...}
參數
unnamedParam1
hDevice [in]
顯示裝置的句柄(圖形內容)。
unnamedParam2
hBufferForArgs
緩衝區的句柄,其中包含要處理的 DrawIndexedInstancedInstancedIndirect 自變數。 緩衝區包含下列緊密包裝的結構:
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 參數所指定的緩衝區資源時,運行時間必須在 MiscFlags 成員中設定 D3D11DDIARG_CREATERESOURCE D3D11_DDI_RESOURCE_MISC_DRAWINDIRECT_ARGS 旗標。
除了D3DDDIERR_DEVICEREMOVED以外,驅動程式不應該發生任何錯誤。 因此,如果驅動程式通過任何錯誤,除了 D3DDDIERR_DEVICEREMOVED 之外,在呼叫 pfnSetErrorCb 函式時,Direct3D 運行時間會判斷錯誤是否重要。 即使移除裝置,驅動程式也不需要傳回D3DDDIERR_DEVICEREMOVED;不過,如果裝置移除干擾 DrawIndexedInstancedIndirect 的作業(通常不應該發生),驅動程式可以傳回D3DDDIERR_DEVICEREMOVED。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 從 Windows 7作系統開始,支援 DrawIndexedInstancedIndirect。 |
目標平臺 | 桌面 |
標頭 | d3d10umddi.h (包括 D3d10umddi.h) |