IDirect3DDevice9::SetTexture-Methode (d3d9helper.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 von Samplern, die für einen programmierbaren Shader verfügbar sind, hängt von der Shaderversion ab. Informationen zu Vertex-Shadern finden Sie unter Sampler (Direct3D 9 asm-vs).. Informationen zu Pixel-Shadern finden Sie unter Sampler (Direct3D 9 asm-ps)..
- Die feste Funktionspipeline verweist dagegen auf Texturen nach Texturstufennummer. Die maximale Anzahl von Samplern wird aus zwei Obergrenzen bestimmt: MaxSimultaneousTextures und MaxTextureBlendStages der D3DCAPS9-Struktur .
- Für die Verdrängungszuordnung (Direct3D 9) wird eine spezielle Zahl namens D3DDMAPSAMPLER verwendet.
- Ein programmierbarer Vertex-Shader 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 festgelegte 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 einem Pooltyp von D3DPOOL_SCRATCH erstellt wird. SetTexture ist mit einem Pooltyp von D3DPOOL_SYSTEMMEM Textur nicht zulässig, es sei denn, DevCaps ist mit D3DDEVCAPS_TEXTURESYSTEMMEMORY festgelegt.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | d3d9helper.h (einschließlich D3D9.h) |
Bibliothek | D3D9.lib |