CG 基本光照模型公式
阿新 • • 發佈:2018-12-21
在一個基本模型裡,一個物體表面的顏色是由放射(emissive)、環境反射(ambient)、漫反射(diffuse)和鏡面反射(specular)等光照作用的總和。每種光照作用取決於表面材質的性質(如亮度和材質顏色)和光源的性質(如光的顏色和位置)的共同作用。
從數學上描述基本模型的高階公式如下所示:
surfaceColor = emissive +ambient + diffuse + specular
一、放射項
emissive = Ke
其中:
Ke代表材質的放射光顏色。
二、環境反射項
ambient = Ka * globalAmbient
其中:
Ka是材質的環境反射係數。
globalAmbient是入射環境光的顏色。
三、漫反射項
diffuse = Kd * lightColor * max(dot(N, L), 0)
其中:
Kd是材質的漫反射顏色。
lightColor是入射漫反射光的顏色。
N是規範化的表面法向量。
L是規範化的從頂點到光源的向量。
四、鏡面反射項
specular = Ks * lightColor * facing * pow(max(dot(N, H), 0), shininess)
其中:
Ks 是材質的鏡面反射顏色。
lightColor是入射鏡面反射光的顏色。
N是規範化的表面法向量。
H是規範化的,頂點到光源的向量與頂點到眼睛的向量的中間向量。
facing是,如果dot(N,L)大於0則為1,否則為0。其中L是頂點到光源位置的向量。
shinniess是表面光澤度。