HLSLフォルダの「phong.fx」と「phong_t.fx」を参考にさせてもらっています。
双方のそれぞれのマテリアル色に、同じ値を渡しているのに、テクスチャ無しではMetasequoiaとほぼ同じレンダリング結果なのですが、テクスチャを使うと、AmbientとDiffuseの色が非常に強くなります。
自作プログラムをDirectX10・10.1・11で試したのですが、どれもです。
テクスチャの際のマテリアル値で注意すべきことを教えてください。
2013-10-24 04:14
[3715] Re: HLSLのマテリアル値について / 管理者
計算式はfxファイルの通りなので、ソースも結果も何も見ない状態でこれ以上のアドバイスというのも難しいですが、
色が強くなるということは何かを2重に計算していたりしているのではないでしょうか?
fxファイルに記述している通り、テクスチャの色はDiffuseとEmmisionに乗算され、Ambientにはかかりません。
Ambientはマテリアルの値にグローバルアンビエントの色が乗算されます。
2013-10-24 20:10
[3716] Re: Re: HLSLのマテリアル値について / たけし
アドバイスありがとうございます。
>Ambientはマテリアルの値にグローバルアンビエントの色が乗算されます。
ああ、Ambientにはグローバルアンビエントの色が乗算されていたのですね。
間違ってポリゴンの色を乗算していました。
2013-10-24 21:21