FSHo>< u_view   s_normal    s_depth    u_lightPosRadius   u_lightRgbInnerR   u_mtx   K  varying vec2 v_texcoord0;
uniform mat4 u_view;
uniform sampler2D s_normal;
uniform sampler2D s_depth;
uniform vec4 u_lightPosRadius[1];
uniform vec4 u_lightRgbInnerR[1];
uniform mat4 u_mtx;
void main ()
{
  vec3 tmpvar_1;
  tmpvar_1 = ((texture2D (s_normal, v_texcoord0).xyz * 2.0) - 1.0);
  vec3 tmpvar_2;
  tmpvar_2.xy = ((v_texcoord0 * 2.0) - 1.0);
  tmpvar_2.z = ((texture2D (s_depth, v_texcoord0).x * 2.0) - 1.0);
  vec3 tmpvar_3;
  vec4 tmpvar_4;
  tmpvar_4.w = 1.0;
  tmpvar_4.xyz = tmpvar_2;
  vec4 tmpvar_5;
  tmpvar_5 = (u_mtx * tmpvar_4);
  tmpvar_3 = (tmpvar_5.xyz / tmpvar_5.w);
  vec4 tmpvar_6;
  tmpvar_6.w = 0.0;
  tmpvar_6.xyz = tmpvar_3;
  vec3 tmpvar_7;
  tmpvar_7 = (u_lightPosRadius[0].xyz - tmpvar_3);
  float edge0_8;
  edge0_8 = u_lightRgbInnerR[0].w;
  float tmpvar_9;
  tmpvar_9 = clamp (((
    (sqrt(dot (tmpvar_7, tmpvar_7)) / u_lightPosRadius[0].w)
   - edge0_8) / (1.0 - edge0_8)), 0.0, 1.0);
  vec3 tmpvar_10;
  tmpvar_10 = normalize(tmpvar_7);
  float tmpvar_11;
  tmpvar_11 = dot (tmpvar_1, tmpvar_10);
  vec2 tmpvar_12;
  tmpvar_12.x = tmpvar_11;
  tmpvar_12.y = dot ((tmpvar_10 - (
    (2.0 * tmpvar_11)
   * tmpvar_1)), -(normalize(
    (u_view * tmpvar_6)
  .xyz)));
  vec4 tmpvar_13;
  tmpvar_13.xw = vec2(1.0, 1.0);
  tmpvar_13.y = max (0.0, tmpvar_11);
  tmpvar_13.z = (float((tmpvar_11 >= 0.0)) * max (0.0, tmpvar_12.y));
  gl_FragColor.xyz = pow (abs((
    (u_lightRgbInnerR[0].xyz * clamp (tmpvar_13.y, 0.0, 1.0))
   * 
    (1.0 - (tmpvar_9 * (tmpvar_9 * (3.0 - 
      (2.0 * tmpvar_9)
    ))))
  )), vec3(0.4545454, 0.4545454, 0.4545454));
  gl_FragColor.w = 1.0;
}

 