Microsoft DirectX 8.0 (Visual Basic)

頂点色

一般に、マテリアル カラーはライティングに使用される。しかし、マテリアル カラー (エミッション、アンビエント、ディフューズ、およびスペキュラ) を、ディフューズ頂点カラーまたはスペキュラ頂点カラーで置き換えるよう指定できる。この指定を行うには、Direct3DDevice8.SetRenderState を呼び出して、次の表に示すデバイス ステート変数を設定する。

デバイス ステート変数 意味 デフォルト
D3DRS_AMBIENTMATERIALSOURCE アンビエント マテリアル カラーを取得する場所を定義する。 D3DMATERIALCOLORSOURCE D3DMCS_MATERIAL
D3DRS_DIFFUSEMATERIALSOURCE ディフューズ マテリアル カラーを取得する場所を定義する。 D3DMATERIALCOLORSOURCE D3DMCS_COLOR1
D3DRS_SPECULARMATERIALSOURCE スペキュラ マテリアル カラーを取得する場所を定義する。 D3DMATERIALCOLORSOURCE D3DMCS_COLOR2
D3DRS_EMISSIVEMATERIALSOURCE エミッション マテリアル カラーを取得する場所を定義する。 D3DMATERIALCOLORSOURCE D3DMCS_MATERIAL
D3DRS_COLORVERTEX 頂点カラーの使用を有効/無効にする。 BOOL TRUE

アルファ/透明値は常に、ディフューズ色のアルファ チャネルからのみ得られる。

フォグ値は常に、スペキュラ色のアルファ チャネルからのみ得られる。

D3DMATERIALCOLORSOURCE には、以下の値を指定することができる。