私も以前から気になっていたことなのですが、生のマテリアルカラーは使わず
すべての面に必ず何らかのテクスチャを設定することで対処しています。
ディフューズを100%にした状態では、マテリアルカラーのみの場合とテクスチャを適用した場合とで差はないのですが、
エミッシブあるいはアンビエントが加わると差が出るみたいです。
参考資料としてMQOデータを添付しますのでご査収ください。
資料のファイル中、マテリアルは以下のように設定しています。
すべてPhongシェーディング方式です。
比較はディレクショナルライトが使われていることを前提としています。
[1]texture_only:
ディフューズ100%(白色)+テクスチャ
[2]violet_diffuse_onlyあるいはpink_diffuse_only:
ディフューズ100%のみ
[3]texture_plus_emissive:
ディフューズ100%(白色)+テクスチャ+エミッシブ25%
続きを表示...
[4]violet_diffuse_plus_emissiveあるいはpink_diffuse_plus_emissive:
ディフューズ100%+エミッシブ25%
スクリーンショットを撮って画像編集ソフトでカラーピックアップ等していただければ
違いがお分かりいただけると思います。
多分、私が思うには、OpenGLあるいはDirect3Dの固定機能ライティングの仕様ではないでしょうか。
ちなみにどちらのレンダリングAPIを使っても同じように現象が発生します。