Re: [問題] 光照下的物體顏色
※ 引述《colinslik (紳士-M)》之銘言:
: 1. 3D物件的Vertex Color應該要填到Emission的位置,然後再把最後的Light Intensity
: 乘上255來轉換成一般的顏色。
: 2.直接把Light Intensity當成一個比例參數,用Light Intensity * Vertex Color的方式
: 來表示該頂點的顏色。
: 以上哪個方式才是正確的處理方法?或者其實兩個方法都是錯的,麻煩前輩們幫忙小弟
: 解答一下疑惑,謝謝各位。
首先要有一個觀念
「顏色」只能拿來形容光,不能拿來形容物體
物體受到光的照射,反射出的光進入人的眼中,才形成它在人眼中的顏色
而這個照射到反射的過程實際上非常複雜
比如說金屬有金屬的反射特性
塑膠有塑膠的特性
紅色的金屬與紅色的塑膠你不會認為它們是同一種東西
因此我們用「材質」(material),而非「顏色」(color) 來形容物體
說到這邊你就會想到,金屬可能是 specular 比較高的材質,
但所謂 specular/diffuse 只是描述材質的「一種近似方法」
這個描術方法稱之為 phong reflection model
其它還有各式各樣計算反射光的方法比如說什麼 Oren-Nayer 或 Cook-Torrance
phong model 並不算是物理上的正確,但計算起來很簡單
所以成為繪圖API的基本演算法
講到這裡你應該能明白
不管你選擇 emission 或是當作比例,在物理上並沒有誰對誰不對的分別
倒不如說,你應該直接問做這個模形的人
看他的 vertex color 應該要代入 phong reflection model 中的哪一項
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.3.139
推
06/04 12:37, , 1F
06/04 12:37, 1F
→
06/04 12:38, , 2F
06/04 12:38, 2F
推
06/04 13:56, , 3F
06/04 13:56, 3F
→
06/04 13:59, , 4F
06/04 13:59, 4F
→
06/04 14:01, , 5F
06/04 14:01, 5F
→
06/04 14:35, , 6F
06/04 14:35, 6F
推
06/04 23:27, , 7F
06/04 23:27, 7F
推
06/05 21:34, , 8F
06/05 21:34, 8F
討論串 (同標題文章)