DirectX SDK

IDirect3DDevice7::SetTexture

The IDirect3DDevice7::SetTexture method assigns a texture to a given stage for a device.

HRESULT SetTexture( 
  DWORD dwStage,
  LPDIRECTDRAWSURFACE7 lpTexture
); 

Parameters

dwStage
Stage identifier to which the texture is to be set. Stage identifiers are zero-based. Currently, devices can have up to eight set textures, so the maximum allowable value allowed for dwStage is 7.
lpTexture
Address of the IDirectDrawSurface7 interface for the texture being set. For complex textures, such as mipmaps and cubic environment maps, this parameter must point to the top-level surface.

Return Values

If the method succeeds, the return value is D3D_OK.

If the method fails, the return value can be one of the following values:

DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS

Remarks

This method method increments the reference count of the texture surface being assigned. When the texture is no longer needed, you should set the texture at the appropriate stage to NULL. If you fail to do this, the surface will not be released, resulting in a memory leak.

Software devices do not support assigning a texture to more than one texture stage at a time.

In the legacy IDirect3DDevice3 interface, this method accepted a pointer to an IDirect3DTexture2 interface.

Requirements

  Windows NT/2000: Requires Windows 2000.
  Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
  Windows CE: Unsupported.
  Version: Requires DirectX 7.0.
  Header: Declared in d3d.h.

See Also

IDirect3DDevice7::GetTexture, IDirect3DDevice7::GetTextureStageState, IDirect3DDevice7::SetTextureStageState, Textures