D3DRENDERSTATETYPE Changes

A new render state has been defined to enable and control multimatrix vertex blending operations: D3DRENDERSTATE_VERTEXBLEND, which is described in the DirectX SDK documentation. The value of this render state can be one of the following D3DVERTEXBLENDFLAGS enumerators:

  • D3DVBLEND_DISABLE (use only the world matrix specified by the D3DTRANSFORMSTATE_WORLD transformation state)

  • D3DVBLEND_1WEIGHT (blend between the two world matrices specified by the D3DTRANSFORMSTATE_WORLD and D3DTRANSFORMSTATE_WORLD1 transformation states)

  • D3DVBLEND_2WEIGHTS (blend between the three world matrices specified by the D3DTRANSFORMSTATE_WORLD, D3DTRANSFORMSTATE_WORLD1, and D3DTRANSFORMSTATE_WORLD2 transformation states)

  • D3DVBLEND_3WEIGHTS (blend between four world matrices specified by the D3DTRANSFORMSTATE_WORLD, D3DTRANSFORMSTATE_WORLD1, D3DTRANSFORMSTATE_WORLD2, and D3DTRANSFORMSTATE_WORLD3 transformation states)

For a description of the D3DTRANSFORMSTATE_WORLD n transformation states, see D3DTRANSFORMSTATETYPE in the DirectX SDK documentation.

Even though additional blending world matrices have been defined with the IDirect3DDevice7::SetTransform method (described in the Direct3D SDK documentation), the contributions (that is, weights) of any matrices beyond the number specified in this render state are set to zero.