IDirect3DDevice9::SetTexture-Methode (d3d9.h)
Weist einer Phase für ein Gerät eine Textur zu.
Syntax
HRESULT SetTexture(
[in] DWORD Stage,
[in] IDirect3DBaseTexture9 *pTexture
);
Parameter
[in] Stage
Typ: DWORD
Nullbasierte Samplernummer. Texturen sind an Sampler gebunden; Sampler definieren den Samplingzustand, z. B. den Filtermodus und den Adressumbruchmodus. Texturen werden von der programmierbaren und der festen Funktionspipeline unterschiedlich referenziert:
- Programmierbare Shader verweisen mithilfe der Samplernummer auf Texturen. Die Anzahl der Sampler, die für einen programmierbaren Shader verfügbar sind, hängt von der Shaderversion ab. Informationen zu Vertexshadern finden Sie unter Sampler (Direct3D 9 asm-vs). Informationen zu Pixelshadern finden Sie unter Sampler (Direct3D 9 asm-ps).
- Die feste Funktionspipeline hingegen verweist auf Texturen nach Texturstufennummer. Die maximale Anzahl von Samplern wird aus zwei Caps bestimmt: MaxSimultaneousTextures und MaxTextureBlendStages der D3DCAPS9-Struktur .
- Für die Verschiebungszuordnung (Direct3D 9) wird eine spezielle Zahl namens D3DDMAPSAMPLER verwendet.
- Ein programmierbarer Vertexshader verwendet beim Zugriff auf Vertextexturen in vs_3_0 (DirectX HLSL) eine spezielle Zahl, die durch eine D3DVERTEXTEXTURESAMPLER definiert wird.
[in] pTexture
Typ: IDirect3DBaseTexture9*
Zeiger auf eine IDirect3DBaseTexture9-Schnittstelle , die die festzulegende Textur darstellt.
Rückgabewert
Typ: HRESULT
Wenn die Methode erfolgreich ist, wird der Rückgabewert D3D_OK. Wenn die Methode fehlschlägt, kann der Rückgabewert D3DERR_INVALIDCALL werden.
Hinweise
SetTexture ist nicht zulässig, wenn die Textur mit dem Pooltyp D3DPOOL_SCRATCH erstellt wird. SetTexture ist mit einem Pooltyp D3DPOOL_SYSTEMMEM Textur nicht zulässig, es sei denn, DevCaps ist mit D3DDEVCAPS_TEXTURESYSTEMMEMORY festgelegt.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | d3d9.h (einschließlich D3D9.h) |
Bibliothek | D3D9.lib |