// Upgrade NOTE: replaced '_LightMatrix0' with 'unity_WorldToLight'
//计算光照衰减 -前向渲染
//unity使用一张纹理作为查找表来在片元着色器中计算逐像素光照的衰减
Shader "Unity shader book/Chapter 9/ForwardRendering" {
Properties{
_DiffuseColor("DiffuseColor",Color) = (1,1,1,1)
_SpecularColor("SpecularColor",Color) = (1,1,1,1)
_Gloss("Gloss",Range(8.0,256)) = 20
}
SubShader{
Tags{"RenderType" = "Opaque"}
Pass{
Tags{"LightMode" = "ForwardBase"}
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "Lighting.cginc"
#include "AutoLight.cginc"
#pragma multi_compile_fwdbase//该指令保证光照衰减等光照变量可以被正确赋值
fixed4 _DiffuseColor;
fixed4 _SpecularColor;
float _Gloss;
struct a2v {
float4 vertex:POSITION;
float3 normal:NORMAL;
};
s