IDirect3DDevice9::SetRenderTarget-Methode (d3d9.h)
Legt einen neuen Farbpuffer für das Gerät fest.
Syntax
HRESULT SetRenderTarget(
[in] DWORD RenderTargetIndex,
[in] IDirect3DSurface9 *pRenderTarget
);
Parameter
[in] RenderTargetIndex
Typ: DWORD
Index des Renderziels. Siehe Hinweise.
[in] pRenderTarget
Typ: IDirect3DSurface9*
Zeiger auf einen neuen Farbpuffer. Bei NULL ist der Farbpuffer für den entsprechenden RenderTargetIndex deaktiviert. Geräte müssen immer einem Farbpuffer zugeordnet sein. Für die neue Renderzieloberfläche muss mindestens D3DUSAGE_RENDERTARGET angegeben sein.
Rückgabewert
Typ: HRESULT
Wenn die Methode erfolgreich ist, wird der Rückgabewert D3D_OK. Diese Methode gibt D3DERR_INVALIDCALL zurück, wenn einer der folgenden Aktionen gilt:
- pRenderTarget = NULL und RenderTargetIndex = 0
- pRenderTarget ist != NULL , und das Renderziel ist ungültig.
Hinweise
Das Gerät kann mehrere Renderziele unterstützen. Die Anzahl der von einem Gerät unterstützten Renderziele ist im NumSimultaneousRTs-Member von D3DCAPS9 enthalten. Weitere Informationen finden Sie unter Mehrere Renderziele (Direct3D 9).
Das Festlegen eines neuen Renderziels führt dazu, dass der Viewport (siehe Viewports und Clipping (Direct3D 9)) auf die volle Größe des neuen Renderziels festgelegt wird.
Einige Hardwaretests testen die Kompatibilität des Tiefenschablonenpuffers mit dem Farbpuffer. Wenn dies geschieht, erfolgt dies nur in einem Debugbuild.
Einschränkungen für die Verwendung dieser Methode umfassen Folgendes:
- Der Multisampeltyp muss für das Renderziel und die Tiefenschablonenoberfläche identisch sein.
- Die Formate müssen für das Renderziel und die Tiefenschablonenoberfläche kompatibel sein. Siehe IDirect3D9::CheckDepthStencilMatch.
- Die Größe der Tiefenschablonenfläche muss größer oder gleich der Größe des Renderziels sein.
Cubetexturen unterscheiden sich von anderen Oberflächen darin, dass es sich um Sammlungen von Oberflächen handelt. Um IDirect3DDevice9::SetRenderTarget mit einer Cubetextur aufzurufen, müssen Sie mithilfe von IDirect3DCubeTexture9::GetCubeMapSurface ein einzelnes Gesicht auswählen und die resultierende Oberfläche an IDirect3DDevice9::SetRenderTarget übergeben.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | d3d9.h (einschließlich D3D9.h) |
Bibliothek | D3D9.lib |