Microsoft DirectX 8.0 (C++) |
ライティング済み頂点を使用するアプリケーションの場合、D3DRS_LIGHTING レンダリング ステートを FALSE に設定して、Microsoft® Direct3D® ライティング エンジンを無効にする必要がある。デフォルトでは、ライティングは有効になっており、入力頂点にゼロ以外のカラー値が含まれていても、システムは法線ベクトルを含んでいない頂点の色を 0 (黒) に設定する。本来、ライティング済み頂点には頂点法線が含まれないので、ライティング エンジンが有効になっていると、Direct3D に渡される色情報はレンダリングの際にすべて失われる。
独自のラインティングを実行するアプリケーションにとって、頂点カラーが重要であることは言うまでもない。システムによるデフォルト値の使用を回避するために、D3DRS_LIGHTING を FALSE に設定すること。