struct v2f { vec4 pos; vec2 uv; vec3 color; }; struct appdata_full { vec4 vertex; vec4 tangent; vec3 normal; vec4 texcoord; vec4 texcoord1; vec4 color; }; attribute vec4 TANGENT; uniform vec3 _TerrainTreeLightDirections[4]; uniform vec4 _TerrainTreeLightColors[4]; v2f vert ( in appdata_full v ) { float diff; vec3 lightDir; int i; vec3 lightColor; v2f o; int tmpvar_1; tmpvar_1 = 0; i = tmpvar_1; vec4 tmpvar_2; tmpvar_2 = (gl_ModelViewProjectionMatrix * v.vertex); o.pos = tmpvar_2; vec2 tmpvar_3; tmpvar_3 = v.texcoord.xy; o.uv = tmpvar_3; vec3 tmpvar_4; tmpvar_4 = gl_LightModel.ambient.xyz; lightColor = tmpvar_4; while (true) { if (!((i < 4))) { break; }; vec3 tmpvar_5; tmpvar_5 = _TerrainTreeLightDirections[i]; lightDir = tmpvar_5.xyz.xyz; float tmpvar_6; tmpvar_6 = dot (lightDir.xyz, v.normal); float tmpvar_7; tmpvar_7 = max (0.0, tmpvar_6); float tmpvar_8; tmpvar_8 = tmpvar_7; diff = tmpvar_8; vec3 tmpvar_9; tmpvar_9 = (_TerrainTreeLightColors[i] * diff).xyz; vec3 tmpvar_10; tmpvar_10 = (lightColor + tmpvar_9); lightColor = tmpvar_10; int _post_incdec_tmp; _post_incdec_tmp = i; int tmpvar_11; tmpvar_11 = (i + 1); i = tmpvar_11; }; vec3 tmpvar_12; tmpvar_12 = (lightColor * v.color.w); o.color = tmpvar_12; return o; } void main () { appdata_full xlt_v; v2f xl_retval; vec4 tmpvar_1; tmpvar_1 = gl_Vertex.xyzw; vec4 tmpvar_2; tmpvar_2 = tmpvar_1; xlt_v.vertex = tmpvar_2; vec4 tmpvar_3; tmpvar_3 = TANGENT.xyzw; vec4 tmpvar_4; tmpvar_4 = tmpvar_3; xlt_v.tangent = tmpvar_4; vec3 tmpvar_5; tmpvar_5 = gl_Normal.xyz; vec3 tmpvar_6; tmpvar_6 = tmpvar_5; xlt_v.normal = tmpvar_6; vec4 tmpvar_7; tmpvar_7 = gl_MultiTexCoord0.xyzw; vec4 tmpvar_8; tmpvar_8 = tmpvar_7; xlt_v.texcoord = tmpvar_8; vec4 tmpvar_9; tmpvar_9 = gl_MultiTexCoord1.xyzw; vec4 tmpvar_10; tmpvar_10 = tmpvar_9; xlt_v.texcoord1 = tmpvar_10; vec4 tmpvar_11; tmpvar_11 = gl_Color.xyzw; vec4 tmpvar_12; tmpvar_12 = tmpvar_11; xlt_v.color = tmpvar_12; v2f tmpvar_13; tmpvar_13 = vert (xlt_v); v2f tmpvar_14; tmpvar_14 = tmpvar_13; xl_retval = tmpvar_14; vec4 tmpvar_15; tmpvar_15 = xl_retval.pos.xyzw; vec4 tmpvar_16; tmpvar_16 = tmpvar_15; gl_Position = tmpvar_16; vec4 tmpvar_17; tmpvar_17.zw = vec2(0.0, 0.0); tmpvar_17.xy = xl_retval.uv.xy; vec4 tmpvar_18; tmpvar_18 = tmpvar_17; gl_TexCoord[0] = tmpvar_18; vec4 tmpvar_19; tmpvar_19.w = 0.0; tmpvar_19.xyz = xl_retval.color.xyz; vec4 tmpvar_20; tmpvar_20 = tmpvar_19; gl_TexCoord[1] = tmpvar_20; }