uniform vec4 _CameraPosition;
uniform vec3 _CameraRight;
uniform vec3 _CameraUp;
uniform mat4 _LightMatrix0;
uniform vec4 _MainTex_ST;
uniform mat4 _Object2World;
uniform vec4 _WaveAndDistance;
uniform vec4 _WavingTint;
uniform vec4 _WorldSpaceLightPos0;
uniform vec4 unity_Scale;
attribute vec4 TANGENT;
varying vec4 xlv_FOG;
void main ()
{
  vec4 pos_1;
  pos_1 = gl_Vertex;
  vec2 offset_2;
  offset_2 = TANGENT.xy;
  vec3 grasspos_3;
  grasspos_3 = (gl_Vertex.xyz - _CameraPosition.xyz);
  float tmpvar_4;
  tmpvar_4 = dot (grasspos_3, grasspos_3);
  if ((tmpvar_4 > _WaveAndDistance.w)) {
    offset_2 = vec2(0.0, 0.0);
  };
  pos_1.xyz = (gl_Vertex.xyz + (offset_2.x * _CameraRight));
  pos_1.xyz = (pos_1.xyz + (offset_2.y * _CameraUp));
  vec4 vertex_5;
  vertex_5.yw = pos_1.yw;
  vec4 outColor_6;
  vec3 waveMove_7;
  float lighting_8;
  vec4 s_9;
  vec4 waves_10;
  waveMove_7.y = 0.0;
  waves_10 = (pos_1.x * (vec4(0.012, 0.02, 0.06, 0.024) * _WaveAndDistance.y));
  waves_10 = (waves_10 + (pos_1.z * (vec4(0.006, 0.02, 0.02, 0.05) * _WaveAndDistance.y)));
  waves_10 = (waves_10 + (_WaveAndDistance.x * vec4(1.2, 2.0, 1.6, 4.8)));
  vec4 tmpvar_11;
  tmpvar_11 = fract(waves_10);
  waves_10 = tmpvar_11;
  vec4 val_12;
  vec4 s_13;
  vec4 r2_14;
  vec4 r1_15;
  vec4 r5_16;
  val_12 = ((tmpvar_11 * 6.40885) - 3.14159);
  r5_16 = (val_12 * val_12);
  r1_15 = (r5_16 * val_12);
  r2_14 = (r1_15 * r5_16);
  s_13 = (((val_12 + 
    (r1_15 * -0.161616)
  ) + (r2_14 * 0.0083333)) + ((r2_14 * r5_16) * -0.00019841));
  s_9 = (s_13 * s_13);
  s_9 = (s_9 * s_9);
  lighting_8 = (dot (s_9, vec4(0.6741998, 0.6741998, 0.2696799, 0.13484)) * 0.7);
  s_9 = (s_9 * TANGENT.y);
  waveMove_7.x = dot (s_9, vec4(0.024, 0.04, -0.12, 0.096));
  waveMove_7.z = dot (s_9, vec4(0.006, 0.02, -0.02, 0.1));
  vertex_5.xz = (pos_1.xz - (waveMove_7.xz * _WaveAndDistance.z));
  outColor_6.xyz = ((gl_Color.xyz * mix (vec3(0.5, 0.5, 0.5), _WavingTint.xyz, vec3(lighting_8))) * 2.0);
  outColor_6.w = 1.0;
  vec4 pos_17;
  pos_17 = (gl_ModelViewProjectionMatrix * vertex_5);
  mat3 tmpvar_18;
  tmpvar_18[0] = _Object2World[0].xyz;
  tmpvar_18[1] = _Object2World[1].xyz;
  tmpvar_18[2] = _Object2World[2].xyz;
  gl_Position = pos_17;
  vec4 tmpvar_19;
  tmpvar_19.yzw = vec3(0.0, 0.0, 0.0);
  tmpvar_19.x = pos_17.z;
  xlv_FOG = tmpvar_19;
  vec4 tmpvar_20;
  tmpvar_20.zw = vec2(0.0, 0.0);
  tmpvar_20.xy = ((gl_MultiTexCoord0.xy * _MainTex_ST.xy) + _MainTex_ST.zw);
  gl_TexCoord[0] = tmpvar_20;
  gl_FrontColor = outColor_6;
  vec4 tmpvar_21;
  tmpvar_21.w = 0.0;
  tmpvar_21.xyz = (tmpvar_18 * (gl_Normal * unity_Scale.w));
  gl_TexCoord[1] = tmpvar_21;
  vec4 tmpvar_22;
  tmpvar_22.w = 0.0;
  tmpvar_22.xyz = (_WorldSpaceLightPos0.xyz - (_Object2World * vertex_5).xyz);
  gl_TexCoord[2] = tmpvar_22;
  vec4 tmpvar_23;
  tmpvar_23.w = 0.0;
  tmpvar_23.xyz = (_LightMatrix0 * (_Object2World * vertex_5)).xyz;
  gl_TexCoord[3] = tmpvar_23;
}


// stats: 56 alu 0 tex 1 flow
// inputs: 5
//  #0: gl_MultiTexCoord0 (high float) 4x1 [-1] loc 8
//  #1: gl_Color (high float) 4x1 [-1] loc 3
//  #2: gl_Normal (high float) 3x1 [-1] loc 2
//  #3: gl_Vertex (high float) 4x1 [-1] loc 0
//  #4: TANGENT (high float) 4x1 [-1]
// uniforms: 11 (total size: 0)
//  #0: gl_ModelViewProjectionMatrix (high float) 4x4 [-1]
//  #1: _CameraPosition (high float) 4x1 [-1]
//  #2: _CameraRight (high float) 3x1 [-1]
//  #3: _CameraUp (high float) 3x1 [-1]
//  #4: _LightMatrix0 (high float) 4x4 [-1]
//  #5: _MainTex_ST (high float) 4x1 [-1]
//  #6: _Object2World (high float) 4x4 [-1]
//  #7: _WaveAndDistance (high float) 4x1 [-1]
//  #8: _WavingTint (high float) 4x1 [-1]
//  #9: _WorldSpaceLightPos0 (high float) 4x1 [-1]
//  #10: unity_Scale (high float) 4x1 [-1]
