?/TD> |
Microsoft DirectX 9.0 |
Signals Microsoft?Direct3D?to begin recording a device-state block.
Syntax
HRESULT BeginStateBlock(VOID);
Return Value
If the method succeeds, the return value is D3D_OK.
If the method fails, the return value can be one of the following values.
D3DERR_INVALIDCALL The method call is invalid. For example, a method's parameter may have an invalid value. E_OUTOFMEMORY Direct3D could not allocate sufficient memory to complete the call.
Remarks
Applications can ensure that all recorded states are valid by calling the IDirect3DDevice9::ValidateDevice method prior to calling this method.
The following methods can be recorded in a state block, after calling IDirect3DDevice9::BeginStateBlock and before IDirect3DDevice9::EndStateBlock.
- IDirect3DDevice9::LightEnable
- IDirect3DDevice9::SetClipPlane
- IDirect3DDevice9::SetIndices
- IDirect3DDevice9::SetLight
- IDirect3DDevice9::SetMaterial
- IDirect3DDevice9::SetPixelShader
- IDirect3DDevice9::SetPixelShaderConstantB
- IDirect3DDevice9::SetPixelShaderConstantF
- IDirect3DDevice9::SetPixelShaderConstantI
- IDirect3DDevice9::SetRenderState
- IDirect3DDevice9::SetStreamSource
- IDirect3DDevice9::SetTexture
- IDirect3DDevice9::SetTextureStageState
- IDirect3DDevice9::SetTransform
- IDirect3DDevice9::SetViewport
- IDirect3DDevice9::SetVertexShader
- IDirect3DDevice9::SetVertexShaderConstantB
- IDirect3DDevice9::SetVertexShaderConstantF
- IDirect3DDevice9::SetVertexShaderConstantI
The ordering of state changes in a state block is not guaranteed. If the same state is specified multiple times in a state block, only the last value is used.
See Also
IDirect3DDevice9::EndStateBlock, IDirect3DDevice9::CreateStateBlock