是否存在不能用RGB很好地代表的常见材料?


34

在图形中,我们使用RGB和其他颜色空间作为光波长全光谱的近似值。总体而言,这显然效果很好,但是在日常生活中可能遇到任何合理的常见对象/材质/现象,由于发射/反射/吸收光谱复杂,RGB渲染无法很好地表现其外观?

虽然目前的答案主要集中在给定RGB色域之外的颜色,但我也很想知道是否存在一些示例,例如,由于RGB之间的相互作用,对象的颜色在RGB中呈现时显示为“错误”。光源光谱和物体的反射光谱。换句话说,光谱渲染器可以为您提供更正确的结果。


信用:我在上一个私人测试版中喜欢这个问题,所以我在这里重现。最初是由内森·里德Nathan Reed)提出的


2
我记得我前一段时间读过的这篇论文。作者将光谱和RGB渲染结果与不同光源进行了比较。不幸的是,比较是在色表上完成的,因此我不确定差异对现实生活场景有多大影响。cg.cs.uni-bonn.de/en/publications/paper-details/...
yuriks

比尔定律(通过透明物体在远处吸收颜色)很难用rgb建模。
艾伦·沃尔夫

@trichoplax对不起,噪音!
luser droog 2015年

@luserdroog感谢您的关注:)即使这个问题仅涉及材料,我们也可以处理与色彩空间有关的新问题...
trichoplax

Answers:


25

有多种不同类型的限制要考虑。

射线路径取决于其波长的效果

这些是需要频谱渲染的一类效果,Benedikt Bitterli的答案中已经给出了许多有趣的示例。一个简单的例子是棱镜将白光分成光谱,产生彩虹色。不同波长的光线在穿过棱镜时会以不同的角度折射,从而使撞击棱镜后面的壁的光被分解成其组成颜色。

这意味着在现实生活中,通过棱镜发出单色的黄色光会导致发出黄色光,但是发出接近黄色的红色和绿色的光混合会导致出现单独的红色和绿色。仅使用3种原色进行渲染时,白光将仅拆分为这三种颜色,从而给出看起来不连续的彩虹效果,而根本不应该拆分的单色光将拆分为近似的原色分量。通过使用大量的原色可以改善白光的分离,但这仍将使不连续性更加紧密,并且单色光的结果仍将被分离,尽管范围更窄。为了获得准确的结果,必须采样连续光谱,

无法在单个静止图像中捕获的表面效果

例如,虹彩对每只眼睛显示不同的颜色,因此静止图像看起来与原始对象不会相同。起初您可能不会注意到很多日常示例。即使它们从远处看起来是黑色或灰色,许多普通鸟也有虹彩的羽毛。近距离它们色彩缤纷。

仅使用3种原色的渲染器将无法根据此效果所需的波长产生光的散布。光谱渲染器可以正确模拟扩展,但是仍无法在单个图像中捕获完整效果。即使是2d的照片也无法正确捕获,而虹彩物体的3d照片将产生闪烁效果,因为对应于左眼和右眼的照片的颜色会有所不同。这是2d图像的限制,而不是RGB颜色空间本身。但是,即使在3d图像中,由于RGB无法显示单色(如下所述),虹彩对象中也会存在无法正确显示的颜色。

人眼可以检测到的颜色无法以RGB显示

RGB历史上是依赖于设备的,因此在平台之间不可靠。有独立于设备的感知上统一的改进,例如色彩空间Lab,但是这些仍然是三色的(具有3个分量)。目前尚不清楚为什么三个成分不足以显示三色眼睛可以看到的所有颜色,但是本文对此进行了很好的解释。从第7页:

例如,使用在635 nm(红色),532 nm(绿色)和447 nm(蓝色)具有单色原色的现代激光显示系统,让我们看看是否可以模拟580 nm(单色)的单色光的感知。橙色)。由于单色橙色刺激会激发绿色和红色锥体,因此绿色和红色基色都需要贡献,而蓝色基色则不需要贡献。问题在于,绿色的原色也会刺激蓝色的视锥细胞,因此无法精确复制橙色的刺激物。

人眼视锥细胞敏感性图(也在第7页)显示了重叠的宽度,并有助于形象地解释该解释。我在此处包括了Wikipedia的类似图表:(单击该图表获取Wikipedia的位置)

人眼中3个不同视锥细胞的敏感性图

简而言之,人眼的三个不同视锥线(颜色传感器)可以拾取的颜色范围之间的重叠意味着可以将单色与近似原色混合,从而混合原色颜色永远无法准确显示所有单色。

这种差异通常在日常生活中并不明显,因为我们周围的大多数环境都在很宽的频率范围内发出或反射光,而不是单色光。但是,钠灯是一个明显的例外。如果您生活在使用这些橙黄色路灯的世界中,那么发出的光是单色的,看起来与打印的照片或屏幕上的图像会有细微的差别。根据上面引用的示例,钠光的波长恰好是580 nm。如果您不住在有钠路灯的地方,则可以通过将细碎的食用盐(氯化钠)撒在火焰上来看到相同的单波长光。闪烁的黄点不能准确地捕获在胶片上或显示在屏幕上。无论您选择三种原色,

请注意,此限制同样适用于混合3种涂料的原色,在相机胶卷上使用3种光敏化学物质或使用具有3种不同颜色传感器的数码相机或具有3种不同原色滤镜的单个传感器进行拍照。这不仅是一个数字问题,而且不仅限于RGB颜色空间。即使Lab色彩空间及其变体引入的改进也无法恢复丢失的颜色。

杂项影响

多次漫反射(渗色)

如果颜色较亮的无光泽表面接近白色无光泽表面,则白色表面将显示其他表面的某些颜色。可以使用纯红色,绿色和蓝色分量合理地建模。赋予着色表面颜色的红色,绿色和蓝色相同组合可以反射白色表面并再次显示该颜色。但是,这仅在第二个表面为白色时有效。如果第二个表面也被着色,则在某些情况下颜色渗色将不准确。

想象两个看起来相似颜色的表面。一个反射黄色附近的窄波长范围。另一个反射红色和绿色之间的宽波长范围,因此看起来也呈黄色。在现实生活中,一个表面上显示的光由于另一表面而不会对称。由于进入波长的窄范围都在较宽的范围内,因此从彼此到达宽波长范围的表面的大多数光将再次被反射。但是,大多数从另一个到达窄波长范围表面的光将在窄范围之外,并且不会被反射。在RGB渲染器中,两个表面都将建模为单色红色和单色绿色的混合,而反射光没有差异。

这是一个极端的例子,其中的差异会立即被眼睛察觉,但是在大多数图像中,至少包括细微的差异,包括色差。

吸收一个波长并发射另一波长的材料

joojaa的答案描述了雪对紫外线的吸收,然后将其重新发射为可见光。我以前从未听说过雪的情况(令人沮丧的是,我一直找不到任何证据来支持它-尽管这可以解释为什么雪“比白色更白”)。但是,有大量的证据表明,其他各种材料也会发生这种情况,其中的一些会添加到衣物洗涤剂和纸张中,从而产生更加明亮的白色。这允许从一个表面射出的总可见光大于该表面接收到的总可见光,这再次不能仅使用RGB很好地建模。如果您想了解更多信息,搜索的词是Fluorescence

眼睛具有超过3种原色

有些动物的眼睛中有超过3种类型的视锥细胞,使它们可以感知3种以上的原色。例如,许多鸟类,昆虫和鱼类都是四色,可感知四种原色。有些甚至是五色差,感知到五种。这些生物可以看到的颜色范围使仅使用RGB可以显示的范围相形见war。远远超出它们的是螳螂虾,它是十二色斑,可见基于12个不同视锥细胞的颜色。这些动物都不会对RGB显示器满意。

但更严重的是,即使是图片用于人类的眼睛,还有被认为是人类tetrachromats谁在4个原色看,可能还有一些谁看到多达5或6。目前,这样的人似乎不存在数量足以使具有超过3种原色的显示器在商业上可行,但是如果将来能够更轻松地确定一个人可以看到多少种原色,则这可能会成为一种诱人的特性,使其在后代传播到整个人口中。因此,如果您希望自己的曾孙子欣赏您的工作,则可能需要使其与六色显示器兼容...


与这个问题不是真的相关,而是相关的:如果您想查看现实世界 RGB图像中不可用的颜色,请查看嵌合颜色 ...


15

我相信RGB无法忠实再现的最突出的光谱效应是色散,它是由具有光谱变化的折射率的电介质引起的(通常用Sellmeier方程建模)。

其他频谱现象通常是由波效应引起的。在现实生活中时不时遇到的一个例子是薄膜干扰,它是由一个或多个彼此紧密叠置的反射表面(例如浮油,肥皂泡)引起的。有时可以观察到的另一种波效应是衍射,例如由衍射光栅引起的,这就是导致CD出现时髦现象的原因。


7

RGB之所以起作用,是因为这就是我们的感觉设备的工作方式。除了分散外,某些人造材料和昆虫尸体的表面有时带有非常紧密的色带。这些可能会受益于广谱渲染。

但是,由于这些效果中的许多都非常局部化,因此您常常可以使着色器工作起来很奇怪。这在反射和折射中不起作用,但没人会注意到。除非您进行一些物理模拟,否则它并不是什么大问题。但是,如果您设计光学器件,这可能会很重要。

诸如雪之类的某些材料也会将入射的紫外线转换为可见光。同样,这种效果通常可以通过着色器/特殊灯光组来处理。

蝴蝶的翅膀也很有趣,因为它们可以操纵波浪的相位和入射光的形式。因此,如果您想对那些进行物理模拟,那么这很重要。

光的偏振也是影响昆虫和水的重要因素。


3

只是为了补充上面的出色建议,我想到,没有紫外线通道,荧光材料将很难建模。


1
这似乎更多是评论而不是答案。也许您可以详细说明为什么荧光材料依赖紫外线通道并提供一些参考?
Martin Ender

1
我在我的帖子中提到了这一点,只是没有使用“荧光”一词。无论如何,这可以在着色器级别完成。
joojaa 2015年

@joojaa:对不起..错过了。如果有明显的按钮,我会删除我的帖子。虽然如此,我想说的是您仍然需要在其他地方(而不仅仅是着色器)额外的通道来处理它,例如,动态生成环境贴图。
西蒙F

2
删除或不删除它,对我一样。我希望您能对此进行扩展。只要您提供了更好的清晰度或新信息,支持证据并没有什么不同。
joojaa 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.