Microsoft DirectX 8.0 (C++) |
一般に、マテリアル カラーがライティングに使用される。しかし、マテリアル カラー (エミッション、アンビエント、ディフューズ、およびスペキュラ) を、ディフューズ頂点カラーまたはスペキュラ頂点カラーで置き換えるよう指定できる。この指定を行うには、IDirect3DDevice8::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 には、以下の値を指定することができる。