此著色法中,頂點是沒有法向量,只有三角形的面有,並透過此三角形的法向量來計算光照,如此一來一個三角形只會有一種顏色。
此著色法中,每個頂點都有各自的法向量,先計算每個頂點的光照後,其他的像素顏色再透過線性插值來呈現,所以說如果把光照模型實作在頂點著色器就會有如此的效果。
早期電腦還不是很厲害的時候,此著色方法一直是主流,但隨著時代的進步現已經逐漸被替換掉了。
此著色法中,每個頂點都有各自的法向量,但會先透過插值來計算每個頂點的法向量,之後才再計算每個頂點對應的光照,所呈現的結果比 Gouraud Shading 來得更好(尤其是高光的部分),但相比下來計算量偏大,不過對於現今的電腦來說已經不是太大的問題。
此著色方法是採用所謂的法向量貼圖(通常叫 Bump Texture),基本上該貼圖上的某一像素所儲存的顏色RGB,就是代表該像素的法向量。
這個跟 Phong Shading 不太一樣,這個是在探討光照模型,通常會有環境光(Ambient)、漫射(Diffuse)、高光(Specular)和自發光(Emission)這四種要素組成。
而光依據種類又分為:平行光(Directional Light)、點光源(Point Light)和聚光燈(Spot Light)。
基本上是基於 Phong Reflection Shading 的改良,在高光(Specular)的部分,多一個叫半程相量(Halfway Vector)的元素,並使用它與觀察向量來計算,得到的效果更為逼真,效能上也有所減輕,現在 OpenGL 預設光照也是使用此光照模型。
OpenGL