Platform SDK: DirectX |
Direct3D の光源は、互いに独立してライティング計算の係数として働く個々のライティング コンポーネントとして、ディフューズ色、アンビエント色、およびスペキュラ色を発する (このライティング モデルは、DirectX 7.0 より前のバージョンで使用したものとは異なる。以前は、すべてのライティング計算に単一のライティング色が使用された)。同様に、システムがレンダリングする頂点は、その頂点フォーマットによって定義された個別のディフューズ色、アンビエント色、スペキュラ色、およびエミッション色を使用する。
C++ アプリケーションの場合、これらの頂点色は、D3DRENDERSTATE_COLORVERTEX レンダリング ステートを TRUE に設定したときにのみ、システムによって使用される。頂点の色ソースは選択可能である。つまり、実行時にライティング式の頂点色部分のソースを選択するように設定できる。D3DRENDERSTATE_AMBIENTMATERIALSOURCE、D3DRENDERSTATE_DIFFUSEMATERIALSOURCE、および D3DRENDERSTATE_SPECULARMATERIALSOURCE レンダリング ステートは、ライティング計算においてシステムが描画する色の色ソースを制御する。これらの各レンダリング ステートは、D3DMATERIALCOLORSOURCE 列挙型のメンバに設定できる。これは、色ソースとして現在のマテリアルを使用するか、または頂点の色を使用するかを指定する値を定義する。
Visual Basic の場合、頂点色は、D3DRENDERSTATE_COLORVERTEX レンダリング ステートを TRUE に設定したときにのみ、システムによって使用される。頂点の色ソースは選択可能である。つまり、実行時にライティング式の頂点色部分のソースを選択するように設定できる。D3DRENDERSTATE_AMBIENTMATERIALSOURCE、D3DRENDERSTATE_DIFFUSEMATERIALSOURCE、および D3DRENDERSTATE_SPECULARMATERIALSOURCE レンダリング ステートは、ライティング計算においてシステムが描画する色の色ソースを制御する。これらの各レンダリング ステートは、CONST_D3DMATERIALCOLORSOURCE 列挙のメンバに設定できる。これは、色ソースとして現在のマテリアルを使用するか、または頂点の色を使用するかを指定する値を定義する。