uniform vec4 unity_LightmapFade; uniform vec4 _ZBufferParams; uniform mat4 _ViewToCookie; uniform mat4 _View2Shadow; uniform samplerCube _ShadowMapTexture; uniform vec4 _ProjectionParams; uniform sampler2D _LightTextureB0; uniform samplerCube _LightTexture0; uniform vec4 _LightShadowData; uniform vec4 _LightPositionRange; uniform vec4 _LightPos; uniform vec4 _LightColor; uniform sampler2D _CameraNormalsTexture; uniform sampler2D _CameraDepthTexture; void main () { vec4 tmpvar_1; tmpvar_1 = gl_TexCoord[0]; vec3 tmpvar_2; tmpvar_2 = gl_TexCoord[1].xyz; vec4 res; float atten; vec3 lightDir; vec3 normal; vec2 tmpvar_3; tmpvar_3 = (tmpvar_1.xy / tmpvar_1.w); vec4 tmpvar_4; tmpvar_4 = texture2D (_CameraNormalsTexture, tmpvar_3); normal = normalize (((tmpvar_4.xyz * 2.0) - 1.0)); vec3 tmpvar_5; tmpvar_5 = ((tmpvar_2 * (_ProjectionParams.z / tmpvar_2.z)) * (1.0/(((_ZBufferParams.x * texture2D (_CameraDepthTexture, tmpvar_3).x) + _ZBufferParams.y)))); vec3 tmpvar_6; tmpvar_6 = (_LightPos.xyz - tmpvar_5); lightDir = normalize (tmpvar_6); atten = texture2D (_LightTextureB0, vec2((dot (tmpvar_6, tmpvar_6) * _LightPos.w))).w; vec3 vec; vec = -(tmpvar_6); mat3 tmpvar_7; tmpvar_7[0] = _View2Shadow[0].xyz; tmpvar_7[1] = _View2Shadow[1].xyz; tmpvar_7[2] = _View2Shadow[2].xyz; vec3 tmpvar_8; tmpvar_8 = (tmpvar_7 * vec); vec = tmpvar_8; float tmpvar_9; tmpvar_9 = ((length (tmpvar_8) * _LightPositionRange.w) * 0.97); float tmpvar_10; tmpvar_10 = dot (textureCube (_ShadowMapTexture, tmpvar_8), vec4(1.0, 0.00392157, 1.53787e-05, 0.0)); float tmpvar_11; if ((tmpvar_10 < tmpvar_9)) { tmpvar_11 = _LightShadowData.x; } else { tmpvar_11 = 1.0; }; vec4 tmpvar_12; tmpvar_12.w = 1.0; tmpvar_12.xyz = tmpvar_5; float tmpvar_13; tmpvar_13 = ((atten * tmpvar_11) * textureCube (_LightTexture0, (_ViewToCookie * tmpvar_12).xyz).w); atten = tmpvar_13; res.xyz = (_LightColor.xyz * (max (0.0, dot (lightDir, normal)) * tmpvar_13)); res.w = ((pow (max (0.0, dot (normalize ((lightDir - normalize (tmpvar_5))), normal)), (tmpvar_4.w * 128.0)) * clamp (tmpvar_13, 0.0, 1.0)) * dot (_LightColor.xyz, vec3(0.22, 0.707, 0.071))); vec4 tmpvar_14; tmpvar_14 = (res * clamp ((1.0 - ((tmpvar_5.z * unity_LightmapFade.z) + unity_LightmapFade.w)), 0.0, 1.0)); res = tmpvar_14; gl_FragData[0] = exp2 (-(tmpvar_14)); }