//漫反射 逐顶点光照
//diffuse = (c.m)max(0,n.i)
//计算漫反射光照需要4个参数:m漫反射颜色,n顶点法线,c光源颜色和强度,i光源方向
//对于细分程度较低模型,逐顶点光照出现问题
Shader "Unity Shader Book/Chapter 6/Diffuse Vertex-level" {
Properties{
_Diffuse("Diffuse",Color) = (0.5,0.5,0.5,1.0)
}
SubShader{
Pass{
Tags{"LightMode" = "ForwardBase"}//指定光照模式,只有定义正确的光照模式,才能得到unity内置光照变量 比如——LIghtColor0
CGPROGRAM
#pragma vertex vert //定义顶点着色器名称
#pragma fragment frag //定义片元着色器名称
#include "Lighting.cginc" //包含金unity的内置文件,才能使用——LightColor0变量。
fixed4 _Diffuse;//定义和属性类型匹配的变量
//定义顶点着色器输入和输出结构体;float最高精度浮点值,32位;fixed最低浮点值,11位存储,范围-2.0到2.0;