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,則會採用記憶體配置,如下所示:

參數設定為 true 的記憶體配置 在此情況下,驅動程式會取值句柄,然後遞增所指向的記憶體。

False 表示句柄是 NumRenderTargetDescriptors 句柄的第一個陣列。 False 案例可讓應用程式一次系結一組不同位置的描述項。 同樣地,假設 NumRenderTargetDescriptors 為 3,記憶體配置會採用如下:

參數設定為 false 的記憶體配置 在此情況下,驅動程式會取值三個預期與記憶體中彼此相鄰的句柄。

[in, optional] pDepthStencilDescriptor

類型: const D3D12_CPU_DESCRIPTOR_HANDLE*

D3D12_CPU_DESCRIPTOR_HANDLE 結構的指標,描述 CPU 描述項句柄,代表保存深度樣板描述項之堆積的開頭。 如果此參數為 NULL,則不會繫結深度樣板描述項。

傳回值

規格需求

需求
目標平台 Windows
標頭 d3d12.h
程式庫 D3d12.lib
Dll D3d12.dll

另請參閱

ID3D12GraphicsCommandList