IDirect3DDevice9::SetTexture method (d3d9helper.h)
Assigns a texture to a stage for a device.
HRESULT SetTexture( [in] DWORD Stage, [in] IDirect3DBaseTexture9 *pTexture );
Zero based sampler number. Textures are bound to samplers; samplers define sampling state such as the filtering mode and the address wrapping mode. Textures are referenced differently by the programmable and the fixed function pipeline:
- Programmable shaders reference textures using the sampler number. The number of samplers available to a programmable shader is dependent on the shader version. For vertex shaders, see Sampler (Direct3D 9 asm-vs). For pixel shaders see Sampler (Direct3D 9 asm-ps).
- The fixed function pipeline on the other hand, references textures by texture stage number. The maximum number of samplers is determined from two caps: MaxSimultaneousTextures and MaxTextureBlendStages of the D3DCAPS9 structure.
- A special number called D3DDMAPSAMPLER is used for Displacement Mapping (Direct3D 9).
- A programmable vertex shader uses a special number defined by a D3DVERTEXTEXTURESAMPLER when accessing Vertex Textures in vs_3_0 (DirectX HLSL).
Pointer to an IDirect3DBaseTexture9 interface, representing the texture being set.
If the method succeeds, the return value is D3D_OK. If the method fails, the return value can be D3DERR_INVALIDCALL.
SetTexture is not allowed if the texture is created with a pool type of D3DPOOL_SCRATCH. SetTexture is not allowed with a pool type of D3DPOOL_SYSTEMMEM texture unless DevCaps is set with D3DDEVCAPS_TEXTURESYSTEMMEMORY.
|Header||d3d9helper.h (include D3D9.h)|