高光反射 Specular = 直射光 * pow(cosa ,高光的参数)
高光反射 Specular = 直射光 * pow(cosa ,高光的参数)
半兰伯特光照模型
Diffuse = 直射光颜色*(cosa *0.5+0.5)
表面着色器 surface shader
顶点/片元着色器 Vertext/Fragment Shader
固定函数着色器 Fixed Function Shader (弃用)
normalize()方法用来把一个单位向量化
原来方向保持不变长度变为1
max()用来取得参数中最大的
dot()用来取得两个向量的点积
_WordSpaceLightPos0取得光的位置
UNTIY_MATRIX_MVP矩阵用来把一个坐标从模型空间转为剪裁空间
_Word2Object矩阵用来把一个方向从世界空间转换为模型空间
取得两个方向夹角的cos值
向量积 点乘的结果
cos=光的方向 点积 *法线方向
只有定义了正确的LIGHTMODE才能得到一些unity的内置光照变量
pass块下定义
Tags{"LightMode"="ForwardBase"}
漫反射diffuse =直射光的颜色*cos夹角(光和法线的夹角) 当光和法线的夹角越大,cos0的值就越小 当夹角为0的时候也就是光直射到面,cos0的值为1