ID3D12GraphicsCommandList::OMSetRenderTargets 方法 (d3d12.h)
設定轉譯目標和深度樣板的 CPU 描述項句柄。
語法
void OMSetRenderTargets(
[in] UINT NumRenderTargetDescriptors,
[in, optional] const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
[in] BOOL RTsSingleHandleToDescriptorRange,
[in, optional] const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor
);
參數
[in] NumRenderTargetDescriptors
類型: UINT
pRenderTargetDescriptors 陣列中的項目數, (介於 0 到D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT) 之間。 如果此參數為非零,pRenderTargetDescriptors 指向的數位數組中的項目數必須等於此參數中的數位。
[in, optional] pRenderTargetDescriptors
類型: const D3D12_CPU_DESCRIPTOR_HANDLE*
指定描述 CPU 描述項句柄 的D3D12_CPU_DESCRIPTOR_HANDLE 結構陣列,此句柄代表轉譯目標描述項堆積的開頭。 如果此參數為 NULL 且 NumRenderTargetDescriptors 為 0,則不會繫結轉譯目標。
[in] RTsSingleHandleToDescriptorRange
類型: BOOL
True 表示傳入的句柄是 連續範圍 NumRenderTargetDescriptors 描述元的指標。 如果要系結的描述元集已經連續在記憶體 (,因此只需要第一個描述項的句柄) ,這個案例就很有用。 例如,如果 NumRenderTargetDescriptors 為 3,則會採用記憶體配置,如下所示:
在此情況下,驅動程式會取值句柄,然後遞增所指向的記憶體。False 表示句柄是 NumRenderTargetDescriptors 句柄的第一個陣列。 False 案例可讓應用程式一次系結一組不同位置的描述項。 同樣地,假設 NumRenderTargetDescriptors 為 3,記憶體配置會採用如下:
在此情況下,驅動程式會取值三個預期與記憶體中彼此相鄰的句柄。[in, optional] pDepthStencilDescriptor
類型: const D3D12_CPU_DESCRIPTOR_HANDLE*
D3D12_CPU_DESCRIPTOR_HANDLE 結構的指標,描述 CPU 描述項句柄,代表保存深度樣板描述項之堆積的開頭。 如果此參數為 NULL,則不會繫結深度樣板描述項。
傳回值
無
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | d3d12.h |
程式庫 | D3d12.lib |
Dll | D3d12.dll |