1. 程式人生 > >CG 基本光照模型公式

CG 基本光照模型公式

在一個基本模型裡,一個物體表面的顏色是由放射(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是表面光澤度。