物體的高光為什麼都是白色的?

我們日常生活中發現無論物體是什麼顏色的,它的高光絕大多都是白色的,這是什麼原因呢?我們知道在白光下,物體的顏色是看它吸收剩下反射的光的顏色,這隻對漫反射成立嗎?高光指鏡面反射區域


先問是不是吧。答案為不是。

我之前寫過一篇專欄文章,就講這件事情的 知乎專欄

首先,高光的顏色取決於導電性。導體的話,高光是有顏色的。最顯著的是金子,高光的線性RGB是(1.022, 0.782, 0.344)。藍色成分非常明顯地小於紅和綠,而紅色已經過曝了。同時金也是常見金屬里唯一一種有一個通道小於0.5的。絕緣體的話,基本就都是單色,而且高光非常弱。而半導體則介於兩者之間。這是由specular的原理決定的。

其次,光滑度對分布有影響。你能看到強烈的高光,是因為材質本身光滑。即便絕緣體的塑料,如果很光滑的話,照樣會有很強烈的高光。那麼如果有個金屬,本身高光就很強,而且又很光滑的物體,它的高光應該是帶顏色,而且非常強烈的。但因為人眼的視覺機制,太強的通道會被截斷,結果就是白色了。這就是覺得高光總是白色的錯覺來源之一。


因為你的燈是白色的…


因為有色光不好畫,容易顯得臟


補充一下。
平時遇到的光基本上都是個蠻廣的分布,不會是很窄的分布。而感光設備一般都有個飽和上限,輸出超不過那個亮度。這種情況下因為太亮了很容易導致RGB三個通道都一起飽和,雖然實際上某種顏色的光要強得多。
所以用曝光散射的時間來曝光反射,不白才怪。


高光不是光,是物體直接反射光線形成的最亮的點
白光是因為日常生活周圍的光線通常色溫,色調都近似於白色。
你用彩色塑料紙蒙上手機攝像頭再關掉周圍環境光,那麼高光部分就不是白色的了


不是白色你就不會當它是高光了


因為高光大多過強,你的眼睛截斷了,只看到白色。


因為感測器(視錐細胞)採樣的頻率的強度都讓感測器(視錐細胞)飽和了,所以合起來是白色。


一般絕緣體反射的是白光,金屬反射的是對應特徵的帶顏色的光。


我寫個比較簡單的回答吧,在自然界中黑色會吸收所有可見光,所以展現出黑色,而反射所有可見光之後就會展現出白色,高光會出現其他顏色一是沒有反射所有可見光(可能),二是比如冷光源照射,物體暗部會呈現暖色,使高光的冷色調更加強烈,所以看起來有顏色偏向,反之相同。(基於美術理論)


高光顏色 一般為 光源顏色+固有色

其他的參數一般與金屬度或粗糙度有關。


金屬高光有的帶顏色,比如黃金高光偏黃色、銅高光橙色,而絕緣體高光接近黑色。


從繪畫的角度講,高光的顏色很大程度上受天光(燈光)顏色的影響。所謂的白色在調色時,用眼觀察是非純白色的,很少有純白色,都會或多或少地偏色。而物理上將我覺得就是大量的光線匯聚反射,產生很亮的顏色,而主要的色彩來源於光,所以會泛一些光的顏色。這是我的理解,可能不是很對,望指正。


因為這裡是受光最多的地方,反射到人眼中的顏色就越多吧。


拿手頭的渲染工具試了試。。
主光源 紅1 綠0.2 藍 0.2
白色高光
我想了想,我這就是個帶HDR的基於物理的渲染。
於是我把ToneMapping和EyeAdaptation關了
高光還是白色的
於是我又把Bloom關了,高光變紅了,但是也沒剛才那麼大了。。
於是我把主光源亮度乘10變成10,2,2
高光又變白了

於是我就想了想啊
為什麼高光是白色的呢?是因為他的rgb都超過1了吧

越想越有道理。。但還是匿了吧


不是白色吧,用什麼顏色的燈就是什麼顏色。
教授一點點簡單繪畫知識。
第一,高光不是漫反射,是反射,不是物體本來最亮的點。是經過物體 光到你的反射,當然是光是什麼顏色,高光就接近什麼顏色啦。
就算是漫反射,也是光的顏色,而不是白色好吧,比如你拿紅色照,顏色會是紅色和物體本來顏色加上明暗飽和的改變,根本也不是白色好嘛。
物體最呈現本來顏色的是明暗交界線。
假設一個情況,再沒有任何其他光源的情況下,沒有任何環境光,就一種顏色的光照進來,比如紅色,任何被照到物體都會只呈現紅色好嘛。。只是一般情況下有其他光源,或者光源並不是理想的,只含有同一頻率的光,這時候才會考慮吸收啥的情況。但是就算吸收,我非要採用超級大能量的光,物體根本吸收不了,還是會被光的顏色壓制,完全感受不到。


真實世界物體的材質是有很多層的,不要覺得跟做渲染一樣指定一個diffuse之後就永遠都那樣了。


補充一條,光的三原色RGB加在一起是白色。


物體的陰影為什麼都是黑色的


推薦閱讀:

這是粉白還是灰綠?
為什麼常見的貓咪毛色以黑白灰黃,而不是紅紫綠藍為主?
有人能直接根據顏色說出 RGB 碼嗎?
怎樣用語言描述一種顏色?
為什麼列印和印刷時要使用CMY顏色模型而不是RGB?

TAG:顏色 | 光學 | 渲染 | 光反射 |