PRB: Texture Transparency in Direct3D Immediate Mode (159648)



The information in this article applies to:

  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional
  • Microsoft DirectX Software Development Kit 3.0

This article was previously published under Q159648

SYMPTOMS

One method for achieving transparency in textures for use in Direct3D Immediate Mode is to use DirectDraw's support for color keys. When calling IDirectDrawSurface2::SetColorKey() on a texture surface to specify a transparent color, the texture does not exhibit any transparent pixels.

CAUSE

The default values of the internal-state variables in the rendering engine for the rendering module are not set to enable alpha blending so the texture is drawn completely with no transparency.

RESOLUTION

Enable alpha blending by setting the D3DRENDERSTATE_BLENDENABLE render state to TRUE.

STATUS

This behavior is by design.

MORE INFORMATION

The D3DOP_STATERENDER opcode for the Direct3D execute buffer sets the value of internal-state variables in the rendering engine for the rendering module. The D3DRENDERSTATE_BLENDENABLE D3DRENDERSTATETYPE for this opcode should be set to TRUE to enable alpha blending. The default value is FALSE. Setting this value to TRUE will enable texture transparency.

REFERENCES

For more information about DirectX and Direct3D, see the DirectX topic in the Platform SDK. This is available on MSDN and online at

Modification Type:MinorLast Reviewed:3/7/2005
Keywords:kbprb KB159648