uniform vec4 unity_Ambient;
uniform vec4 _ReflectColor;
uniform sampler2D _ParallaxMap;
uniform float _Parallax;
uniform sampler2D _MainTex;
uniform sampler2D _LightBuffer;
uniform samplerCube _Cube;
uniform vec4 _Color;
uniform sampler2D _BumpMap;
void main ()
{
  vec4 tmpvar_1;
  tmpvar_1 = gl_TexCoord[0];
  vec4 tmpvar_2;
  tmpvar_2 = gl_TexCoord[3];
  vec4 tmpvar_3;
  tmpvar_3 = gl_TexCoord[4];
  vec4 tmpvar_4;
  tmpvar_4 = gl_TexCoord[5];
  vec4 col_5;
  vec4 light_6;
  vec3 tmpvar_7;
  tmpvar_7.x = tmpvar_2.w;
  tmpvar_7.y = tmpvar_3.w;
  tmpvar_7.z = tmpvar_4.w;
  vec2 tmpvar_8;
  vec3 v_9;
  vec3 tmpvar_10;
  tmpvar_10 = normalize(gl_TexCoord[1].xyz);
  v_9.xy = tmpvar_10.xy;
  v_9.z = (tmpvar_10.z + 0.42);
  tmpvar_8 = (((texture2D (_ParallaxMap, tmpvar_1.zw).w * _Parallax) - (_Parallax / 2.0)) * (tmpvar_10.xy / v_9.z));
  vec4 tmpvar_11;
  tmpvar_11 = texture2D (_MainTex, (tmpvar_1.xy + tmpvar_8));
  vec4 normal_12;
  normal_12.xy = ((texture2D (_BumpMap, (tmpvar_1.zw + tmpvar_8)).wy * 2.0) - 1.0);
  normal_12.z = sqrt(((1.0 - (normal_12.x * normal_12.x)) - (normal_12.y * normal_12.y)));
  vec3 tmpvar_13;
  tmpvar_13.x = dot (tmpvar_2.xyz, normal_12.xyz);
  tmpvar_13.y = dot (tmpvar_3.xyz, normal_12.xyz);
  tmpvar_13.z = dot (tmpvar_4.xyz, normal_12.xyz);
  vec4 tmpvar_14;
  tmpvar_14 = (textureCube (_Cube, (tmpvar_7 - (2.0 * (dot (tmpvar_13, tmpvar_7) * tmpvar_13)))) * tmpvar_11.w);
  vec4 tmpvar_15;
  tmpvar_15 = -(log2(texture2DProj (_LightBuffer, gl_TexCoord[2])));
  light_6.w = tmpvar_15.w;
  light_6.xyz = (tmpvar_15.xyz + unity_Ambient.xyz);
  vec4 c_16;
  c_16.xyz = ((tmpvar_11 * _Color).xyz * light_6.xyz);
  c_16.w = (tmpvar_14.w * _ReflectColor.w);
  col_5.w = c_16.w;
  col_5.xyz = (c_16.xyz + (tmpvar_14.xyz * _ReflectColor.xyz));
  gl_FragData[0] = col_5;
}

