Shader "VertexLit Clipped BumpSpec" {
Properties {
_Color ("Main Color", Color) = (1,1,1,1)
_MainTex ("Base (RGB) Gloss(A)", 2D) = "white" {}
_Cutoff ("Alpha cutoff", Range(0,1)) = 0.5
_SpecColor ("Specular Color", Color) = (0.5, 0.5, 0.5, 1)
_Shininess ("Shininess", Range (0.03, 1)) = 0.078125
_ClipTex ("Base (RGB)", 2D) = "white" {}
_BumpMap ("Normalmap", 2D) = "bump" {}
}
SubShader {
Tags {"IgnoreProjector"="True" "RenderType"="TransparentCutout"}
LOD 200
//Cull Off
CGPROGRAM
#pragma surface surf BlinnPhong alphatest:_Cutoff vertex:vert
#include "UnityCG.cginc"
sampler2D _MainTex;
sampler2D _ClipTex;
sampler2D _BumpMap;
float4 _Color;
float _Shininess;
struct Input {
float2 uv_MainTex;
float2 uv_BumpMap;
float2 clipCoords;
};
uniform float4x4 _ClipTextureMatrix;
void vert (inout appdata_full v, out Input o)
{
float4 c = mul( _ClipTextureMatrix, mul( _Object2World, v.vertex ) );
o.clipCoords = c;
}
void surf (Input IN, inout SurfaceOutput o)
{
half4 c0 = tex2D(_MainTex, IN.uv_MainTex);
half4 c = tex2D(_ClipTex, IN.clipCoords);
o.Albedo = c0.rgb * _Color.rgb;
o.Gloss = c0.a;
o.Alpha = c.a;
o.Specular = _Shininess;
o.Normal = UnpackNormal(tex2D(_BumpMap, IN.uv_BumpMap));
}
ENDCG
}
Fallback "VertexLit"
}