uniform vec4 _ProjectionParams;
uniform vec4 _Scale;
uniform float _SquashAmount;
uniform vec4 _SquashPlaneNormal;
uniform mat4 _TerrainEngineBendTree;
void main ()
{
  vec4 tmpvar_1;
  vec4 pos_2;
  pos_2.w = gl_Vertex.w;
  pos_2.xyz = (gl_Vertex.xyz * _Scale.xyz);
  vec4 tmpvar_3;
  tmpvar_3.w = 0.0;
  tmpvar_3.xyz = pos_2.xyz;
  pos_2.xyz = mix (pos_2.xyz, (_TerrainEngineBendTree * tmpvar_3).xyz, gl_Color.www);
  vec3 tmpvar_4;
  tmpvar_4.xz = vec2(0.0, 0.0);
  tmpvar_4.y = _SquashPlaneNormal.w;
  vec4 tmpvar_5;
  tmpvar_5.w = 1.0;
  tmpvar_5.xyz = mix ((pos_2.xyz + (
    dot (_SquashPlaneNormal.xyz, (tmpvar_4 - pos_2.xyz))
   * _SquashPlaneNormal.xyz)), pos_2.xyz, vec3(_SquashAmount));
  pos_2 = tmpvar_5;
  mat3 tmpvar_6;
  tmpvar_6[0] = gl_ModelViewMatrixInverseTranspose[0].xyz;
  tmpvar_6[1] = gl_ModelViewMatrixInverseTranspose[1].xyz;
  tmpvar_6[2] = gl_ModelViewMatrixInverseTranspose[2].xyz;
  tmpvar_1.xyz = (tmpvar_6 * gl_Normal);
  tmpvar_1.w = -(((gl_ModelViewMatrix * tmpvar_5).z * _ProjectionParams.w));
  gl_Position = (gl_ModelViewProjectionMatrix * tmpvar_5);
  vec4 tmpvar_7;
  tmpvar_7.zw = vec2(0.0, 0.0);
  tmpvar_7.xy = gl_MultiTexCoord0.xy;
  gl_TexCoord[0] = tmpvar_7;
  gl_TexCoord[1] = tmpvar_1;
}


// stats: 17 alu 0 tex 0 flow
// inputs: 4
//  #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
// uniforms: 8 (total size: 0)
//  #0: gl_ModelViewMatrixInverseTranspose (high float) 4x4 [-1]
//  #1: gl_ModelViewProjectionMatrix (high float) 4x4 [-1]
//  #2: gl_ModelViewMatrix (high float) 4x4 [-1]
//  #3: _ProjectionParams (high float) 4x1 [-1]
//  #4: _Scale (high float) 4x1 [-1]
//  #5: _SquashAmount (high float) 1x1 [-1]
//  #6: _SquashPlaneNormal (high float) 4x1 [-1]
//  #7: _TerrainEngineBendTree (high float) 4x4 [-1]
