Metasequoia BBS

| New message | Normal | Tree |
Status
Tag
Keyword
[1590] マテリアルの拡散色とテクスチャの色の相違の仕様確認 / mqdl
[From old BBS] Response
日頃お世話になっております。
仕様確認をさせて頂きたい件が御座います。

以下、再現手順です。
まずマテリアルでRGB(0\x2c0\x2c255)の材質を作りポリゴンに適用。
一方RGB(0\x2c0\x2c255)のテクスチャを作成しモデルに貼り付けます。
仮にマテリアルで青一色を指定した立方体と、青一色のテクスチャを
貼り付けた立方体があると想像して下さい。
ビュー上で表示される結果は当然同じ色になります。

RGB(0\x2c255\x2c0)マテリアル、RGB(0\x2c255\x2c0)テクスチャでも当然同じ色に見えます。
しかしながらRGB(64\x2c64\x2c255)マテリアル、RGB(64\x2c64\x2c255)では違う色に表示されます。
これは仕様でしょうか。
(シェーダをConstantにすれば同一になります)
2008-12-25 19:31
[1595] Re: マテリアルの拡散色とテクスチャの色の相違の仕様確認 / sygh
私も以前から気になっていたことなのですが、生のマテリアルカラーは使わず
すべての面に必ず何らかのテクスチャを設定することで対処しています。

ディフューズを100%にした状態では、マテリアルカラーのみの場合とテクスチャを適用した場合とで差はないのですが、
エミッシブあるいはアンビエントが加わると差が出るみたいです。
参考資料としてMQOデータを添付しますのでご査収ください。

資料のファイル中、マテリアルは以下のように設定しています。
すべてPhongシェーディング方式です。
比較はディレクショナルライトが使われていることを前提としています。

[1]texture_only:
ディフューズ100%(白色)+テクスチャ

[2]violet_diffuse_onlyあるいはpink_diffuse_only:
ディフューズ100%のみ

[3]texture_plus_emissive:
ディフューズ100%(白色)+テクスチャ+エミッシブ25%


Show more...
2008-12-27 18:21
[1600] Re: マテリアルの拡散色とテクスチャの色の相違の仕様確認 / O.Mizno
きちんとした検証はまだしていないので、現時点での不十分な回答になりますが、
Direct3D/OpenGL/MQR(ソフトウェアプレビュー)では正確な色表示を保証しません。
単純なコーディングミスを含めて、Ver2.4系列内だけでも何度か
色表示に関する処理が変更されており、また現バージョンにおいても
本来こちらが意図する色と違うものが表示されるケースが存在する
可能性は否定しません。
また各プレビューごとに実装が異なるため、わずかな誤差として
完全には同じ色で表示されることはありません。

あと最近はあまりないと思いますが、WinXP初期以前あたりの
古いビデオカードだと、ドライバの不具合でそもそもおかしな色に
なるケースも有り得ます。

一番正確な色表示を行っているのは「レンダリング」における表示ですが、
どうもマテリアル設定時の球体表示上の色と異なるケースがあるように
思います。
詳細を調べてから再度レスさせていただきます。
2008-12-28 11:57
[1612] Re: Re: マテリアルの拡散色とテクスチャの色の相違の仕様確認 / mqdl
ご連絡ありがとうございます。
既に認識済みと言う事であれば、相違が無い事が良いとは言え
大きな問題とは考えておりませんので別件を優先して対応頂ければと
存じます。
2009-01-04 21:52