Platform SDK: DirectX

ジオメトリ ブレンディングの有効化

[C++]

デフォルトでは、ジオメトリ ブレンディングは無効である。ジオメトリ ブレンディングを有効にするには、IDirect3DDevice7::SetRenderState メソッドを呼び出して D3DRENDERSTATE_VERTEXBLEND レンダリング ステートを D3DVERTEXBLENDFLAGS 列挙型からの値に設定する。次のコードは、2 つのワールド行列間でブレンドするための、レンダリング ステートの設定を示す。

pd3dDevice->SetRenderState( D3DRENDERSTATE_VERTEXBLEND, D3DVBLEND_1WEIGHT );

D3DRENDERSTATE_VERTEXBLEND が D3DVBLEND_DISABLE 以外の値に設定されている場合は、頂点フォーマットに適切な個数のブレンディングの重みが含まれていると見なされる。適切な頂点フォーマットを作成すること、およびそのフォーマットの正しい記述を Direct3D レンダリング メソッドに提供することは開発者の責任である。詳細については、「ブレンディング用の頂点の定義」を参照すること。

ジオメトリ ブレンディングが有効になっている場合、DrawPrimitive レンダリング メソッドでレンダリングされるすべてのオブジェクトに対してジオメトリ ブレンディングが実行される。

[Visual Basic]

デフォルトでは、ジオメトリ ブレンディングは無効である。ジオメトリ ブレンディングを有効にするには、Direct3DDevice7.SetRenderState メソッドを呼び出して D3DRENDERSTATE_VERTEXBLEND レンダリング ステートを CONST_D3DVERTEXBLENDFLAGS 列挙からの値に設定する。次のコードは、2 つのワールド行列間でブレンドするための、レンダリング ステートの設定を示す。

Call d3dDevice.SetRenderState(D3DRENDERSTATE_VERTEXBLEND, D3DVBLEND_1WEIGHT)

D3DRENDERSTATE_VERTEXBLEND が D3DVBLEND_DISABLE 以外の値に設定されている場合は、頂点フォーマットに適切な個数のブレンディングの重みが含まれていると見なされる。適切な頂点フォーマットを作成すること、およびそのフォーマットの正しい記述を Direct3D レンダリング メソッドに提供することは開発者の責任である。詳細については、「ブレンディング用の頂点の定義」を参照すること。

ジオメトリ ブレンディングが有効になっている場合、DrawPrimitive レンダリング メソッドでレンダリングされるすべてのオブジェクトに対してジオメトリ ブレンディングが実行される。