常用模板
ShadowCaster 添加阴影与深度图
pass
{
Tags {"LightMode" = "ShadowCaster"}
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma multi_compile _ _DISSOLVEENABLED_ON
#pragma multi_compile_shadowcaster
#include "UnityCG.cginc"
struct appdata
{
float4 vertex:POSITION;
half3 normal:NORMAL;
float4 uv:TEXCOORD;
};
struct v2f
{
float4 uv:TEXCOORD;
V2F_SHADOW_CASTER;
};
sampler2D _DissolveTex;float4 _DissolveTex_ST;
fixed _Clip;
v2f vert(appdata v)
{
v2f o;
o.uv.zw = TRANSFORM_TEX(v.uv,_DissolveTex);
TRANSFER_SHADOW_CASTER_NORMALOFFSET(o)
return o;
}
fixed4 frag(v2f i):SV_TARGET
{
#if _DISSOLVEENABLED_ON
fixed4 dissolveTex=tex2D(_DissolveTex,i.uv.zw);
clip(dissolveTex.r-_Clip);
#endif
SHADOW_CASTER_FRAGMENT(i)
}
ENDCG
}