Freigeben über


ID3D12GraphicsCommandList::OMSetRenderTargets-Methode (d3d12.h)

Legt CPU-Deskriptorhandles für die Renderziele und die Tiefenschablone fest.

Syntax

void OMSetRenderTargets(
  [in]           UINT                              NumRenderTargetDescriptors,
  [in, optional] const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
  [in]           BOOL                              RTsSingleHandleToDescriptorRange,
  [in, optional] const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor
);

Parameter

[in] NumRenderTargetDescriptors

Typ: UINT

Die Anzahl der Einträge im pRenderTargetDescriptors-Array (liegt zwischen 0 und D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT). Wenn dieser Parameter nichtzero ist, muss die Anzahl der Einträge im Array, auf das pRenderTargetDescriptors verweist, der Zahl in diesem Parameter entsprechen.

[in, optional] pRenderTargetDescriptors

Typ: const D3D12_CPU_DESCRIPTOR_HANDLE*

Gibt ein Array von D3D12_CPU_DESCRIPTOR_HANDLE Strukturen an, die die CPU-Deskriptorhandles beschreiben, die den Beginn des Heaps von Renderzieldeskriptoren darstellen. Wenn dieser Parameter NULL und NumRenderTargetDescriptors 0 ist, sind keine Renderziele gebunden.

[in] RTsSingleHandleToDescriptorRange

Typ: BOOL

True bedeutet, dass der übergebene Handle der Zeiger auf einen zusammenhängenden Bereich von NumRenderTargetDescriptors-Deskriptoren ist. Dieser Fall ist nützlich, wenn der Satz von Deskriptoren, die gebunden werden sollen, bereits im Arbeitsspeicher zusammenhängend ist (sodass nur ein Handle mit dem ersten benötigt wird). Wenn numRenderTargetDescriptors beispielsweise 3 ist, wird das Speicherlayout wie folgt verwendet:

Speicherlayout mit parameter auf true festgelegt In diesem Fall leitet der Treiber den Handle ab und erhöht dann den Speicher, auf den verwiesen wird.

False bedeutet, dass das Handle das erste aus einem Array von NumRenderTargetDescriptors-Handles ist. Mit der falschen Groß-/Kleinschreibung kann eine Anwendung eine Reihe von Deskriptoren von verschiedenen Speicherorten gleichzeitig binden. Unter der Annahme, dass NumRenderTargetDescriptors 3 ist, wird das Speicherlayout wie folgt verwendet:

Speicherlayout mit parameter auf false festgelegt In diesem Fall leitet der Treiber drei Handles ab, von denen erwartet wird, dass sie sich im Arbeitsspeicher nebeneinander befinden.

[in, optional] pDepthStencilDescriptor

Typ: const D3D12_CPU_DESCRIPTOR_HANDLE*

Ein Zeiger auf eine D3D12_CPU_DESCRIPTOR_HANDLE-Struktur , die das CPU-Deskriptorhandle beschreibt, das den Anfang des Heaps darstellt, der den Tiefenschablonendeskriptor enthält. Wenn dieser Parameter NULL ist, ist kein Tiefenschablonendeskriptor gebunden.

Rückgabewert

Keine

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile d3d12.h
Bibliothek D3d12.lib
DLL D3d12.dll

Weitere Informationen

ID3D12GraphicsCommandList