IDirect3DDevice9::CreateStateBlock method (d3d9.h)
Creates a new state block that contains the values for all device states, vertex-related states, or pixel-related states.
Syntax
HRESULT CreateStateBlock(
[in] D3DSTATEBLOCKTYPE Type,
[out, retval] IDirect3DStateBlock9 **ppSB
);
Parameters
[in] Type
Type: D3DSTATEBLOCKTYPE
Type of state data that the method should capture. This parameter can be set to a value defined in the D3DSTATEBLOCKTYPE enumerated type.
[out, retval] ppSB
Type: IDirect3DStateBlock9**
Pointer to a state block interface. See IDirect3DStateBlock9.
Return value
Type: HRESULT
If the method succeeds, the return value is D3D_OK. If the method fails, the return value can be one of the following: D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, E_OUTOFMEMORY.
Remarks
Vertex-related device states typically refer to those states that affect how the system processes vertices. Pixel-related states generally refer to device states that affect how the system processes pixel or depth-buffer data during rasterization. Some states are contained in both groups.
Differences between Direct3D 9 and Direct3D 10:
In Direct3D 9, a state block contains state data, for the states it was requested to capture, when the object is created. To change the value of the state block, call IDirect3DStateBlock9::Capture or IDirect3DDevice9::BeginStateBlock/IDirect3DDevice9::EndStateBlock. There is no state saved when a state block object is created in Direct3D 10. |
Requirements
Requirement | Value |
---|---|
Target Platform | Windows |
Header | d3d9.h (include D3D9.h) |
Library | D3D9.lib |