uniform float _Shininess;
uniform sampler2D _MainTex;
uniform float _Cutoff;
uniform vec4 _Color;
uniform sampler2D _BumpMap;
void main ()
{
  vec4 tmpvar_1;
  tmpvar_1 = gl_TexCoord[0];
  vec4 res_2;
  vec3 viewN_3;
  vec4 normal_4;
  normal_4.xy = ((texture2D (_BumpMap, tmpvar_1.zw).wy * 2.0) - 1.0);
  normal_4.z = sqrt(((1.0 - (normal_4.x * normal_4.x)) - (normal_4.y * normal_4.y)));
  float x_5;
  x_5 = ((texture2D (_MainTex, tmpvar_1.xy).w * _Color.w) - _Cutoff);
  if ((x_5 < 0.0)) {
    discard;
  };
  viewN_3.x = dot (gl_TexCoord[1].xyz, normal_4.xyz);
  viewN_3.y = dot (gl_TexCoord[2].xyz, normal_4.xyz);
  viewN_3.z = dot (gl_TexCoord[3].xyz, normal_4.xyz);
  res_2.xyz = ((viewN_3 * vec3(0.5, 0.5, -0.5)) + 0.5);
  res_2.w = _Shininess;
  gl_FragData[0] = res_2;
}

