Unity3d《Shader篇》自定义光照模型

一、理论

公式1:被光照的物体最终所呈现的颜色公式

最终颜色=材质颜色*发光颜色

 

公式2:材质颜色

tex2D(_MainTex,uv)

 

公式3:光照颜色

光照颜色=自发光+环境光+漫反射+镜面反射

 

公式5:自发光

emissive = colorEmissive

colorEmissive 自发光的颜色

 

公式6:环境光

ambient= Ka*colorAmbient

Ka 环境光系数

colorAmbient 环境光颜色

 

公式7:漫反射光

diffuse=Kd*colorLight*max(dot(N,L),0)

Kd 漫反射系数

colorLight 光颜色

N 法向量

L 光源方向

 

公式8:镜面反射

镜面反射:光射到表面光滑平整,法线均匀的物体表面上,这种反射光称为镜面反射光。
 
【风宇冲】Unity3D教程宝典之Shader篇:第十五讲 <wbr>光照基础
Ks 镜面系数
colorLight 光的颜色
N 单位法线向量
L 由点指向光源的单位向量
V 由点指向观察者的单位向量
H (L+V)向量的单位化向量,即normalize(L+V)
shininess 镜面强度系数,值越小,高光越分散;值越高,高光越集中。
facing 如果N与L的点乘大于0,则facing为1,如果小于等于0,则facing为0

你可能感兴趣的:(unity3d)