varying highp vec3 xlv_TEXCOORD4; varying highp vec3 xlv_TEXCOORD3; varying highp vec3 xlv_TEXCOORD2; varying highp vec3 xlv_TEXCOORD1; varying highp vec2 xlv_TEXCOORD0; uniform sampler2D _TranslucencyMap; uniform lowp vec3 _TranslucencyColor; uniform highp vec4 _TerrainTreeLightColors[4]; uniform lowp vec4 _SpecColor; uniform sampler2D _MainTex; uniform lowp float _Cutoff; uniform sampler2D _BumpSpecMap; uniform lowp vec4 UNITY_LIGHTMODEL_AMBIENT; void main () { lowp vec4 c_1; mediump float nh_2; mediump float nl_3; mediump vec3 lightColor_4; mediump vec3 backContribs_5; mediump vec3 light_6; mediump float gloss_7; mediump float specular_8; lowp vec3 albedo_9; lowp vec4 tmpvar_10; tmpvar_10 = texture2D (_MainTex, xlv_TEXCOORD0); lowp float x_11; x_11 = (tmpvar_10.w - _Cutoff); if ((x_11 < 0.0)) { discard; }; highp vec3 tmpvar_12; tmpvar_12 = (tmpvar_10.xyz * xlv_TEXCOORD1); albedo_9 = tmpvar_12; lowp float tmpvar_13; tmpvar_13 = (texture2D (_BumpSpecMap, xlv_TEXCOORD0).x * 128.0); specular_8 = tmpvar_13; lowp vec4 tmpvar_14; tmpvar_14 = texture2D (_TranslucencyMap, xlv_TEXCOORD0); lowp float tmpvar_15; tmpvar_15 = tmpvar_14.w; gloss_7 = tmpvar_15; lowp vec3 tmpvar_16; tmpvar_16 = (UNITY_LIGHTMODEL_AMBIENT.xyz * albedo_9); light_6 = tmpvar_16; highp vec3 tmpvar_17; tmpvar_17 = (xlv_TEXCOORD2 * tmpvar_14.z); backContribs_5 = tmpvar_17; highp vec3 tmpvar_18; tmpvar_18 = _TerrainTreeLightColors[0].xyz; lightColor_4 = tmpvar_18; highp float tmpvar_19; tmpvar_19 = xlv_TEXCOORD3.x; nl_3 = tmpvar_19; highp float tmpvar_20; tmpvar_20 = xlv_TEXCOORD4.x; nh_2 = tmpvar_20; light_6 = (light_6 + (((albedo_9 * ((backContribs_5.x * _TranslucencyColor) + nl_3)) + (_SpecColor.xyz * (pow (nh_2, specular_8) * gloss_7))) * lightColor_4)); highp vec3 tmpvar_21; tmpvar_21 = _TerrainTreeLightColors[1].xyz; lightColor_4 = tmpvar_21; highp float tmpvar_22; tmpvar_22 = xlv_TEXCOORD3.y; nl_3 = tmpvar_22; highp float tmpvar_23; tmpvar_23 = xlv_TEXCOORD4.y; nh_2 = tmpvar_23; light_6 = (light_6 + (((albedo_9 * ((backContribs_5.y * _TranslucencyColor) + nl_3)) + (_SpecColor.xyz * (pow (nh_2, specular_8) * gloss_7))) * lightColor_4)); highp vec3 tmpvar_24; tmpvar_24 = _TerrainTreeLightColors[2].xyz; lightColor_4 = tmpvar_24; highp float tmpvar_25; tmpvar_25 = xlv_TEXCOORD3.z; nl_3 = tmpvar_25; highp float tmpvar_26; tmpvar_26 = xlv_TEXCOORD4.z; nh_2 = tmpvar_26; light_6 = (light_6 + (((albedo_9 * ((backContribs_5.z * _TranslucencyColor) + nl_3)) + (_SpecColor.xyz * (pow (nh_2, specular_8) * gloss_7))) * lightColor_4)); mediump vec3 tmpvar_27; tmpvar_27 = (light_6 * 2.0); c_1.xyz = tmpvar_27; c_1.w = 1.0; gl_FragData[0] = c_1; }