D3DSTATEBLOCKTYPE enumeration

Predefined sets of pipeline state used by state blocks (see State Blocks Save and Restore State (Direct3D 9)).

Syntax

typedef enum _D3DSTATEBLOCKTYPE { 
  D3DSBT_ALL          = 1,
  D3DSBT_PIXELSTATE   = 2,
  D3DSBT_VERTEXSTATE  = 3,
  D3DSBT_FORCE_DWORD  = 0x7fffffff
} D3DSTATEBLOCKTYPE;

Constants

D3DSBT_ALL

Capture the current device state.

D3DSBT_PIXELSTATE

Capture the current pixel state.

D3DSBT_VERTEXSTATE

Capture the current vertex state.

D3DSBT_FORCE_DWORD

Forces this enumeration to compile to 32 bits in size. Without this value, some compilers would allow this enumeration to compile to a size other than 32 bits. Do not use this value.

Remarks

As the following diagram shows, vertex and pixel state are both subsets of device state.

diagram of device state, with vertex state and pixel state as subsets

There are only a few states that are considered both vertex and pixel state. These states are:

  • Render state: D3DRS_FOGDENSITY
  • Render state: D3DRS_FOGSTART
  • Render state: D3DRS_FOGEND
  • Texture state: D3DTSS_TEXCOORDINDEX
  • Texture state: D3DTSS_TEXTURETRANSFORMFLAGS

Requirements

Requirement Value
Header
D3D9Types.h

See also

Direct3D Enumerations

IDirect3DDevice9::CreateStateBlock

IDirect3DDevice9::CreateStateBlock