Поделиться через


Метод ID3D12GraphicsCommandList::OMSetRenderTargets (d3d12.h)

Задает дескриптор ЦП для целевых объектов отрисовки и трафарета глубины.

Синтаксис

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*

Задает массив D3D12_CPU_DESCRIPTOR_HANDLE структур, описывающих дескрипторы дескриптора ЦП, которые представляют начало кучи целевых дескрипторов отрисовки. Если этот параметр имеет значение NULL, а NumRenderTargetDescriptors имеет значение 0, целевые объекты отрисовки не привязаны.

[in] RTsSingleHandleToDescriptorRange

Тип: BOOL

Значение true означает, что передаваемый дескриптор является указателем на непрерывный диапазон дескрипторов NumRenderTargetDescriptors . Этот случай полезен, если набор дескрипторов для привязки уже является непрерывным в памяти (поэтому все, что нужно, — это дескриптор для первого). Например, если NumRenderTargetDescriptors равно 3, то макет памяти принимается следующим образом:

Макет памяти с параметром true В этом случае драйвер разыменовывает дескриптор, а затем увеличивает объем памяти, на который указывает.

Значение False означает, что дескриптор является первым из массива дескрипторов NumRenderTargetDescriptors . Ложное значение позволяет приложению одновременно привязать набор дескрипторов из разных расположений. Опять же при условии, что NumRenderTargetDescriptors равно 3, макет памяти принимается следующим образом:

Макет памяти с параметром , равным false В этом случае драйвер разыменовывает три дескриптора, которые должны находиться рядом друг с другом в памяти.

[in, optional] pDepthStencilDescriptor

Тип: const D3D12_CPU_DESCRIPTOR_HANDLE*

Указатель на структуру D3D12_CPU_DESCRIPTOR_HANDLE , описывающую дескриптор дескриптора ЦП, представляющий начало кучи, содержащей дескриптор трафарета глубины. Если этот параметр имеет значение NULL, дескриптор трафарета глубины не привязывается.

Возвращаемое значение

None

Требования

Требование Значение
Целевая платформа Windows
Header d3d12.h
Библиотека D3d12.lib
DLL D3d12.dll

См. также раздел

ID3D12GraphicsCommandList