uniform vec4 _MainTex_ST;
uniform mat4 _Object2World;
uniform vec4 _ProjectionParams;
uniform mat4 _World2Object;
uniform vec3 _WorldSpaceCameraPos;
uniform vec4 unity_Scale;
varying vec4 xlv_FOG;
void main ()
{
  vec3 viewDir_1;
  vec4 pos_2;
  pos_2 = (gl_ModelViewProjectionMatrix * gl_Vertex);
  vec4 tmpvar_3;
  tmpvar_3.w = 1.0;
  tmpvar_3.xyz = _WorldSpaceCameraPos;
  viewDir_1 = (gl_Vertex.xyz - ((_World2Object * tmpvar_3).xyz * unity_Scale.w));
  mat3 tmpvar_4;
  tmpvar_4[0] = _Object2World[0].xyz;
  tmpvar_4[1] = _Object2World[1].xyz;
  tmpvar_4[2] = _Object2World[2].xyz;
  vec4 o_5;
  o_5 = (pos_2 * 0.5);
  vec2 tmpvar_6;
  tmpvar_6.x = o_5.x;
  tmpvar_6.y = (o_5.y * _ProjectionParams.x);
  o_5.xy = (tmpvar_6 + o_5.w);
  o_5.zw = pos_2.zw;
  gl_Position = pos_2;
  vec4 tmpvar_7;
  tmpvar_7.yzw = vec3(0.0, 0.0, 0.0);
  tmpvar_7.x = pos_2.z;
  xlv_FOG = tmpvar_7;
  vec4 tmpvar_8;
  tmpvar_8.zw = vec2(0.0, 0.0);
  tmpvar_8.xy = ((gl_MultiTexCoord0.xy * _MainTex_ST.xy) + _MainTex_ST.zw);
  gl_TexCoord[0] = tmpvar_8;
  vec4 tmpvar_9;
  tmpvar_9.w = 0.0;
  tmpvar_9.xyz = (tmpvar_4 * (viewDir_1 - (2.0 * 
    (dot (gl_Normal, viewDir_1) * gl_Normal)
  )));
  gl_TexCoord[1] = tmpvar_9;
  gl_TexCoord[2] = o_5;
}


// stats: 18 alu 0 tex 0 flow
// inputs: 3
//  #0: gl_MultiTexCoord0 (high float) 4x1 [-1] loc 8
//  #1: gl_Normal (high float) 3x1 [-1] loc 2
//  #2: gl_Vertex (high float) 4x1 [-1] loc 0
// uniforms: 7 (total size: 0)
//  #0: gl_ModelViewProjectionMatrix (high float) 4x4 [-1]
//  #1: _MainTex_ST (high float) 4x1 [-1]
//  #2: _Object2World (high float) 4x4 [-1]
//  #3: _ProjectionParams (high float) 4x1 [-1]
//  #4: _World2Object (high float) 4x4 [-1]
//  #5: _WorldSpaceCameraPos (high float) 3x1 [-1]
//  #6: unity_Scale (high float) 4x1 [-1]
