uniform vec3 _TerrainTreeLightDirections[4]; uniform float _TranslucencyViewDependency; uniform mat4 _World2Object; uniform vec3 _WorldSpaceCameraPos; uniform vec4 unity_Scale; attribute vec4 TANGENT; void main () { vec3 lightDir_1; vec3 viewDir_2; vec3 tmpvar_3; vec3 tmpvar_4; vec3 tmpvar_5; vec4 pos_6; float isBillboard_7; isBillboard_7 = (1.0 - abs(TANGENT.w)); vec4 tmpvar_8; tmpvar_8.w = 0.0; tmpvar_8.xyz = gl_Normal; vec4 tmpvar_9; tmpvar_9.zw = vec2(0.0, 0.0); tmpvar_9.xy = gl_Normal.xy; pos_6 = (gl_Vertex + ((tmpvar_9 * gl_ModelViewMatrixInverseTranspose) * isBillboard_7)); vec3 tmpvar_10; tmpvar_10 = mix (gl_Normal, normalize((tmpvar_8 * gl_ModelViewMatrixInverseTranspose)).xyz, vec3(isBillboard_7)); vec4 tmpvar_11; tmpvar_11.w = 1.0; tmpvar_11.xyz = _WorldSpaceCameraPos; viewDir_2 = normalize((( (_World2Object * tmpvar_11) .xyz * unity_Scale.w) - pos_6.xyz)); lightDir_1 = _TerrainTreeLightDirections[0]; float tmpvar_12; tmpvar_12 = dot (tmpvar_10, lightDir_1); vec3 tmpvar_13; tmpvar_13.yz = tmpvar_3.yz; tmpvar_13.x = (mix (clamp ( -(tmpvar_12) , 0.0, 1.0), clamp ( dot (viewDir_2, -(lightDir_1)) , 0.0, 1.0), _TranslucencyViewDependency) * 2.0); vec3 tmpvar_14; tmpvar_14.yz = tmpvar_4.yz; tmpvar_14.x = max (0.0, ((tmpvar_12 * 0.6) + 0.4)); vec3 tmpvar_15; tmpvar_15.yz = tmpvar_5.yz; tmpvar_15.x = max (0.0, dot (tmpvar_10, normalize( (lightDir_1 + viewDir_2) ))); lightDir_1 = _TerrainTreeLightDirections[1]; float tmpvar_16; tmpvar_16 = dot (tmpvar_10, lightDir_1); vec3 tmpvar_17; tmpvar_17.xz = tmpvar_13.xz; tmpvar_17.y = (mix (clamp ( -(tmpvar_16) , 0.0, 1.0), clamp ( dot (viewDir_2, -(lightDir_1)) , 0.0, 1.0), _TranslucencyViewDependency) * 2.0); vec3 tmpvar_18; tmpvar_18.xz = tmpvar_14.xz; tmpvar_18.y = max (0.0, ((tmpvar_16 * 0.6) + 0.4)); vec3 tmpvar_19; tmpvar_19.xz = tmpvar_15.xz; tmpvar_19.y = max (0.0, dot (tmpvar_10, normalize( (lightDir_1 + viewDir_2) ))); lightDir_1 = _TerrainTreeLightDirections[2]; float tmpvar_20; tmpvar_20 = dot (tmpvar_10, lightDir_1); vec3 tmpvar_21; tmpvar_21.xy = tmpvar_17.xy; tmpvar_21.z = (mix (clamp ( -(tmpvar_20) , 0.0, 1.0), clamp ( dot (viewDir_2, -(lightDir_1)) , 0.0, 1.0), _TranslucencyViewDependency) * 2.0); tmpvar_3 = tmpvar_21; vec3 tmpvar_22; tmpvar_22.xy = tmpvar_18.xy; tmpvar_22.z = max (0.0, ((tmpvar_20 * 0.6) + 0.4)); tmpvar_4 = tmpvar_22; vec3 tmpvar_23; tmpvar_23.xy = tmpvar_19.xy; tmpvar_23.z = max (0.0, dot (tmpvar_10, normalize( (lightDir_1 + viewDir_2) ))); tmpvar_5 = tmpvar_23; gl_Position = (gl_ModelViewProjectionMatrix * pos_6); vec4 tmpvar_24; tmpvar_24.zw = vec2(0.0, 0.0); tmpvar_24.xy = gl_MultiTexCoord0.xy; gl_TexCoord[0] = tmpvar_24; vec4 tmpvar_25; tmpvar_25.w = 0.0; tmpvar_25.xyz = gl_Color.www; gl_TexCoord[1] = tmpvar_25; vec4 tmpvar_26; tmpvar_26.w = 0.0; tmpvar_26.xyz = tmpvar_21; gl_TexCoord[2] = tmpvar_26; vec4 tmpvar_27; tmpvar_27.w = 0.0; tmpvar_27.xyz = tmpvar_22; gl_TexCoord[3] = tmpvar_27; vec4 tmpvar_28; tmpvar_28.w = 0.0; tmpvar_28.xyz = tmpvar_23; gl_TexCoord[4] = tmpvar_28; } // stats: 66 alu 0 tex 0 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: 7 (total size: 0) // #0: gl_ModelViewMatrixInverseTranspose (high float) 4x4 [-1] // #1: gl_ModelViewProjectionMatrix (high float) 4x4 [-1] // #2: _TerrainTreeLightDirections (high float) 3x1 [4] // #3: _TranslucencyViewDependency (high float) 1x1 [-1] // #4: _World2Object (high float) 4x4 [-1] // #5: _WorldSpaceCameraPos (high float) 3x1 [-1] // #6: unity_Scale (high float) 4x1 [-1]