Unity Shader系列文章:Unity Shader目录-初级篇
Unity Shader系列文章:Unity Shader目录-中级篇
1、兰伯特漫反射光公式:
:入射光颜色;
:漫反射颜色;
:单位法向量;
:单位光向量;
2、半兰伯特漫反射公式:
:入射光颜色;
:漫反射颜色;
:单位法向量;
:单位光向量;
原理:由于兰伯特光照模型计算出模型背面的颜色为负数,模型背面会变成黑色,
改进为将[-1, 1]映射到[0, 1]上,即乘以0.5,再加上0.5。
3、Phong高光反射公式:
:入射光颜色;
:高光反射颜色;
:单位视线向量;
:单位反射向量,可以由表面法线和光源方向计算而得:
,CG中可直接使用reflect获得;
:反射系数;
4、Blinn-Phong高光反射公式:
:入射光颜色;
:高光反射颜色;
:单位法向量;
:单位半角向量,由光线和视线夹角一半方向上的单位向量计算得出:
(shader中计算:normalize(V + L))
:反射系数;