IDirect3DDevice9::BeginStateBlock メソッド
IDirect3DDevice9::BeginStateBlock メソッド
Microsoft® Direct3D® にデバイス ステート ブロックの記録を開始するように知らせる。
構文
HRESULT BeginStateBlock(VOID);
戻り値
成功した場合は、D3D_OK を返す。
失敗した場合は、次のいずれかの値を返す。
D3DERR_INVALIDCALL | メソッドの呼び出しが無効である。たとえば、メソッドのパラメータに無効な値が設定されている場合などである。 |
E_OUTOFMEMORY | Direct3D が呼び出しを完了するための十分なメモリを割り当てることができなかった。 |
注意
アプリケーションは、このメソッドを呼び出す前に IDirect3DDevice9::ValidateDevice メソッドを呼び出して、記録するすべてのステートが有効であることを確認するとよい。
IDirect3DDevice9::BeginStateBlock を呼び出してから 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
ステート ブロック内では、ステート変更の順序は保証されない。ステート ブロックで同じステートが複数回指定された場合、使用されるのは最後の値のみである。
参照
IDirect3DDevice9::EndStateBlock、IDirect3DDevice9::CreateStateBlock