uniform sampler2D _CameraDepthTexture; uniform sampler2D _CameraNormalsTexture; uniform vec4 _LightColor; uniform vec4 _LightPos; uniform vec4 _LightPositionRange; uniform vec4 _LightShadowData; uniform samplerCube _LightTexture0; uniform sampler2D _LightTextureB0; uniform vec4 _ProjectionParams; uniform samplerCube _ShadowMapTexture; uniform mat4 _View2Shadow; uniform mat4 _ViewToCookie; uniform vec4 _ZBufferParams; uniform vec4 unity_LightmapFade; void main () { vec4 tmpvar_1; tmpvar_1 = gl_TexCoord[0]; vec3 tmpvar_2; tmpvar_2 = gl_TexCoord[1].xyz; vec4 res_3; float atten_4; vec3 lightDir_5; vec3 tolight_6; vec3 vpos_7; vec3 normal_8; vec2 uv_9; uv_9 = (tmpvar_1.xy / tmpvar_1.w); vec4 tmpvar_10; tmpvar_10 = texture2D (_CameraNormalsTexture, uv_9); normal_8 = ((tmpvar_10.xyz * 2.0) - 1.0); normal_8 = normalize(normal_8); vpos_7 = ((tmpvar_2 * (_ProjectionParams.z / tmpvar_2.z)) * (1.0/(( (_ZBufferParams.x * texture2D (_CameraDepthTexture, uv_9).x) + _ZBufferParams.y)))); tolight_6 = (_LightPos.xyz - vpos_7); lightDir_5 = normalize(tolight_6); atten_4 = texture2D (_LightTextureB0, vec2((dot (tolight_6, tolight_6) * _LightPos.w))).w; vec3 vec_11; vec_11 = -(tolight_6); float mydist_12; mat3 tmpvar_13; tmpvar_13[0] = _View2Shadow[0].xyz; tmpvar_13[1] = _View2Shadow[1].xyz; tmpvar_13[2] = _View2Shadow[2].xyz; vec_11 = (tmpvar_13 * vec_11); mydist_12 = (sqrt(dot (vec_11, vec_11)) * _LightPositionRange.w); mydist_12 = (mydist_12 * 0.97); float tmpvar_14; tmpvar_14 = dot (textureCube (_ShadowMapTexture, vec_11), vec4(1.0, 0.00392157, 1.53787e-05, 6.22737e-09)); float tmpvar_15; if ((tmpvar_14 < mydist_12)) { tmpvar_15 = _LightShadowData.x; } else { tmpvar_15 = 1.0; }; atten_4 = (atten_4 * tmpvar_15); vec4 tmpvar_16; tmpvar_16.w = 1.0; tmpvar_16.xyz = vpos_7; atten_4 = (atten_4 * textureCube (_LightTexture0, (_ViewToCookie * tmpvar_16).xyz).w); res_3.xyz = (_LightColor.xyz * (max (0.0, dot (lightDir_5, normal_8) ) * atten_4)); res_3.w = ((pow ( max (0.0, dot (normalize((lightDir_5 - normalize(vpos_7) )), normal_8)) , (tmpvar_10.w * 128.0) ) * clamp (atten_4, 0.0, 1.0)) * dot (_LightColor.xyz, vec3(0.22, 0.707, 0.071))); res_3 = (res_3 * clamp ((1.0 - ((vpos_7.z * unity_LightmapFade.z) + unity_LightmapFade.w) ), 0.0, 1.0)); gl_FragData[0] = exp2(-(res_3)); } // stats: 49 alu 5 tex 1 flow // inputs: 1 // #0: gl_TexCoord (high float) 4x1 [2] loc 4 // uniforms: 9 (total size: 0) // #0: _LightColor (high float) 4x1 [-1] // #1: _LightPos (high float) 4x1 [-1] // #2: _LightPositionRange (high float) 4x1 [-1] // #3: _LightShadowData (high float) 4x1 [-1] // #4: _ProjectionParams (high float) 4x1 [-1] // #5: _View2Shadow (high float) 4x4 [-1] // #6: _ViewToCookie (high float) 4x4 [-1] // #7: _ZBufferParams (high float) 4x1 [-1] // #8: unity_LightmapFade (high float) 4x1 [-1] // textures: 5 // #0: _CameraDepthTexture (high 2d) 0x0 [-1] // #1: _CameraNormalsTexture (high 2d) 0x0 [-1] // #2: _LightTexture0 (high cube) 0x0 [-1] // #3: _LightTextureB0 (high 2d) 0x0 [-1] // #4: _ShadowMapTexture (high cube) 0x0 [-1]