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; }