RGBではうまく表現されない一般的なマテリアルはありますか?


34

グラフィックスでは、光波長の全スペクトルの近似としてRGBおよびその他の色空間を使用します。これは明らかに一般的にはかなりうまく機能しますが、日常的な生活で遭遇する可能性のある合理的な一般的なオブジェクト/材料/現象があります。 ?

現在の回答は主に特定のRGB範囲外の色に焦点を当てていますが、たとえば、RGBでレンダリングされたときにオブジェクトの色が「間違った」ように見える例がある場合は、光源スペクトルとオブジェクトの反射スペクトル。言い換えれば、スペクトルレンダラーがより正確な結果を提供する場合です。


クレジット:以前のプライベートベータでこの質問が気に入ったので、ここで再現します。もともとはネイサンリードからの質問でした


2
少し前に読んだこの論文を思い出しました。著者は、スペクトルとRGBレンダリングされた結果を異なる光源で比較します。残念ながら、比較はカラーチャートで行われるため、違いが実際のシーンにどの程度影響するかわかりません。cg.cs.uni-bonn.de/en/publications/paper-details/...
yuriks

ビールの法則(遠くの透明な物体を通る色の吸収)は、rgbでモデル化するのは困難です。
アランウルフ

@trichoplaxノイズでごめんなさい!
luserはドローグ

@luserdroog関心をお寄せいただきありがとうございます:)この質問は素材に関するものだけですが、色空間に関連する新しい質問を行うことができます
...-trichoplax

回答:


25

考慮すべきさまざまな種類の制限があります。

光線の経路が波長に依存する効果

これらは、スペクトルレンダリングが必要なエフェクトのクラスであり、多くの興味深い例がBenedikt Bitterliの回答ですでに提供されています。簡単な例は、白色光をスペクトルに分割し、虹色を与えるプリズムです。異なる波長の光線は、プリズムを通過するときに異なる角度で屈折し、プリズムの背後の壁に当たる光が構成色に分割されます。

つまり、実際には、プリズムを通して単色の黄色の光を照らすと黄色の光が出ますが、黄色に近い赤と緑の光の混合物を照らすと、赤と緑の光が別々に発生します。3つの原色のみを使用してレンダリングする場合、白色光はそれらの3つの色のみに分割され、不連続に見える虹の効果を与え、まったく分割すべきでない単色光は近似する原色成分に分割されます。白色光の分割は、より多くの原色を使用することで改善できますが、これにより、不連続性が近くなり、単色光の結果はさらに狭くなりますが分割されます。正確な結果を得るには、連続スペクトルをサンプリングする必要があります。

単一の静止画像ではキャプチャできない表面効果

たとえば、色は、静止画像が元のオブジェクトと同じに見えないように、各目で異なる色を表示します。最初は気付かないかもしれない日常的な例がたくさんあります。多くの一般的な鳥は、遠くから黒または灰色に見えても虹色の羽を持っています。クローズアップすると、驚くほどカラフルです。

3つの原色のみを使用するレンダラーは、この効果に必要な波長に基づいて光の広がりを生成できません。スペクトルレンダラーは拡散を正しくシミュレートできますが、完全な効果を単一の画像でキャプチャすることはできません。2Dの写真でもこれを正しくキャプチャできませんが、虹色のオブジェクトの3Dの写真では、左目と右目に対応する写真の色が異なるため、そのきらめく効果が得られます。これは、RGBカラースペース自体ではなく、2D画像の制限です。ただし、3D画像でも、以下に説明するようにRGBが単色を表示できないため、虹色のオブジェクトに色が正しく表示されません。

RGBで表示できない、人間の目で検出できる色

RGBは歴史的にデバイスに依存していたため、プラットフォーム間で信頼できませんでした。色空間Labなど、デバイスに依存しない知覚的に均一な改善がありますが、これらはまだ3色(3つのコンポーネントを持っています)です。三色の目で知覚できるすべての色を表示するのに3つのコンポーネントが不十分な理由はすぐにはわかりませんが、このホワイトペーパーではそれをわかりやすく、わかりやすく説明しています。7ページから:

たとえば、635 nm(赤)、532 nm(緑)、447 nm(青)の単色の原色を持つ最新のレーザーディスプレイシステムを使用して、580 nmの単色光(オレンジ色)。単色のオレンジ色の刺激は緑がかった赤のコーンを刺激するため、緑と赤の原色の両方からの寄与が必要ですが、青の原色からの寄与は必要ありません。問題は、緑の原色も青みがかった錐体を励起し、オレンジ色の刺激を正確に複製することができないことです。

人間の目の円錐の感度の図(7ページも参照)は、オーバーラップの幅を示し、この説明を視覚化するのに役立ちます。ウィキペディアの同様のグラフをここに含めました:(ウィキペディアの場所のグラフをクリックします)

人間の目の3つの異なる円錐の感度のグラフ

要するに、人間の目の3つの異なるコーン(カラーセンサー)のそれぞれが取得できる色の範囲が重複しているということは、単色が原色の近似混合物と区別できることを意味します。色はすべての単色を正確に表示することはできません。

私たちの環境のほとんどは、単色の単色ではなく、広範囲の周波数にわたって光を放射または反射するため、この違いは日常生活では通常目立ちません。ただし、顕著な例外はナトリウムランプです。これらの黄色オレンジ色の街灯を使用する世界の一部に住んでいる場合、放射される光は単色であり、印刷された写真や画面上の画像とは微妙に異なります。ナトリウム光の波長は、上記の例からたまたま580 nmです。ナトリウム街路灯のある場所に住んでいない場合は、細かく砕いた食卓塩(塩化ナトリウム)を炎の上に振りかけると、同じ単一波長の光を見ることができます。きらめく黄色の光の点は、フィルムに正確にキャプチャすることも、スクリーンに表示することもできません。どの三原色を選択しても、

この制限は、塗料の3つの原色の混合、カメラフィルムでの3つの光反応性化学物質の使用、3つの異なるカラーセンサーを備えたデジタルカメラ、または3つの異なる原色フィルターを備えた単一のセンサーで写真を撮る場合にも等しく適用されることに注意してください。これは単なるデジタルの問題ではなく、RGBカラースペースに限定されるものでもありません。Labカラースペースとそのバリアントによって導入された改善でさえ、失われたカラーを回復することはできません。

その他の効果

複数の拡散反射(色にじみ)

明るい色のマット表面が白いマット表面に近い場合、白い表面は他の表面の色の一部を示します。これは、純粋な赤、緑、青のコンポーネントを使用して、適切にモデリングできます。色付きの表面の色を与えた赤、緑、青の同じ組み合わせは、白い表面から反射して、その色の一部を再び表示することができます。ただし、これは2番目の表面が白の場合にのみ機能します。2番目の表面も着色されている場合、場合によっては大幅に色のにじみが不正確になります。

同じような色に見える2つの表面を想像してください。1つは、黄色の周りの狭い範囲の波長を反映しています。もう1つは、赤と緑の間の広範囲の波長を反映し、その結果、黄色に見えます。実際には、一方の表面が他方の表面に現れる光は対称ではありません。入射波長の狭い範囲はすべて広い範囲内にあるため、他の波長範囲から広い波長範囲の表面に到達する光のほとんどは再び反射されます。ただし、他から狭い波長範囲の表面に到達する光のほとんどは、狭い範囲外にあり、反射されません。RGBレンダラーでは、両方の表面が単色の赤と単色の緑の混合としてモデル化され、反射光に違いはありません。

これは極端な例で、違いは目ですぐにわかりますが、色のにじみを含むほとんどの画像には少なくともわずかな違いがあります。

ある波長を吸収し、別の波長を放出する材料

joojaaの答えは、可視光として再放射される雪による紫外線の吸収について説明しています。これが雪で起こることを聞いたことはありませんでした(そして、それを裏付ける証拠を見つけることができませんでしたが、雪が「白より白」である理由は説明できますが)。しかし、他のさまざまな素材でそれが起こっていることを示す多くの証拠があります。その一部は、洗剤や紙を洗う衣服に追加され、非常に明るい白を与えます。これにより、サーフェスから出力される可視光の合計が、その表面で受信される可視光の合計よりも大きくなります。これも、RGBのみを使用してうまくモデル化されていません。詳細については、「蛍光」を検索してください。

3つ以上の原色の目

目の中に3種類以上の錐体を持っている動物がいて、3原色以上を知覚できます。たとえば、多くの鳥、昆虫、魚は色生物であり、4つの原色を知覚します。いくつかは五色覚でさえあり、5つを知覚します。そのような生物が見ることができる色の範囲は、RGBのみを使用して表示可能な範囲を小さくします。それらをはるかに超えているのは、12種類のコーンに基づいた色が見える12色彩色のカマキリエビです。これらの動物はどれもRGBディスプレイでは満足できません。

しかしもっと深刻なのは、人間の目を意図した画像であっても、4つの原色で見る人間の四色覚者、そしておそらく5または6を見るもいると考えられています。現在、そのような人々は存在しないようです3つを超える原色のディスプレイを商業的に実現するのに十分な数ですが、将来、人が見ることができる原色の数を特定しやすくなる場合、これは将来の世代の人口全体に広がる魅力的な特性になる可能性があります。あなたの偉大な孫にあなたの仕事を感謝して欲しいなら、あなたはそれを六色性モニターと互換性にする必要があるかもしれません...


この質問にはあまり関係ありませんが、関連性があります:現実の世界で RGB画像でも利用できない色を確認したい場合は、キメラカラーをご覧ください...


15

RGBで忠実に再現できない最も顕著なスペクトル効果は、スペクトルが変化する屈折率を持つ誘電体(通常はセルマイヤー方程式でモデル化される)に起因する分散です。

他のスペクトル現象は通常、波の効果によって引き起こされます。実生活で時々遭遇する1つの例は、薄膜干渉です。これは、互いの上に密接に重ねられた1つ以上の反射面(例えば、油膜、シャボン玉)によって引き起こされます。時々観察することができる別の波効果がある回折によって引き起こさ例えば回折格子 CDのファンキーな外観を引き起こすものです。


7

RGBが機能するのは、それが私たちの感覚装置の仕組みだからです。分散に加えて、一部の人工材料や昆虫の体には、非常にきつい色の帯がある表面がある場合があります。これらは、幅広いスペクトルレンダリングの恩恵を受ける可能性があります。

ただし、これらのエフェクトの多くはかなりローカライズされているため、シェーダーを単に奇妙に動作させることで逃げることができます。これは反射や屈折では正しく機能しませんが、誰も気付かないでしょう。物理シミュレーションを行っているのでなければ、それほど大したことではありません。しかし、光学系を設計する場合、これは大したことかもしれません。

雪のようないくつかの材料も、入ってくる紫外線を可視光に変換します。繰り返しますが、この種の効果は通常、シェーダー/特別なライトグループで処理できます。

蝶の羽は、波の位相と入射光の形を操作するので、好奇心でもあります。したがって、それらの物理シミュレーションを行いたい場合、それは大したことです。

光の偏光も昆虫や水の影響の大きな要因です。


3

上記の優れた提案に追加するために、紫外線チャネルがなければ、蛍光材料をモデル化するのは難しいと思いました。


1
これは答えというよりもコメントのようです。たぶん、蛍光材料が紫外線チャネルに依存する理由を詳しく説明し、いくつかの参考文献を提供できますか?
マーティンエンダー

1
私はこの投稿で「蛍光」という言葉を使わなかったことに言及しました。とにかく、これはシェーダーレベルで実行できます。
-joojaa

@joojaa:すみません。見逃しました。明らかなボタンがあれば投稿を削除します。とはいえ、それを処理するには、シェーダーだけでなく他の場所でも追加のチャネルが必要になると思います。たとえば、環境マップのオンザフライ生成です。
サイモンF

2
私と同じ、削除するか、削除しないでください。私はむしろあなたがそれを拡大することを望みます。あなたがより良い明快さまたは新しい情報で貢献する限り、支持する証拠と物事が異なると言うことは間違っていません。
-joojaa
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.