FSHƒòá u_mtx   u_lightDirTime   1  varying highp vec4 v_color0;
varying highp vec2 v_texcoord0;
uniform highp mat4 u_mtx;
uniform highp vec4 u_lightDirTime;
void main ()
{
  highp vec4 tmp_1;
  highp vec4 tmpvar_2;
  tmpvar_2.zw = vec2(0.0, 1.0);
  tmpvar_2.xy = v_texcoord0;
  tmp_1 = (u_mtx * tmpvar_2);
  highp vec3 tmpvar_3;
  tmpvar_3 = (tmp_1.xyz / tmp_1.w);
  highp vec4 tmpvar_4;
  tmpvar_4.zw = vec2(1.0, 1.0);
  tmpvar_4.xy = v_texcoord0;
  tmp_1 = (u_mtx * tmpvar_4);
  highp vec3 tmpvar_5;
  tmpvar_5 = (tmp_1.xyz / tmp_1.w);
  highp float tmpvar_6;
  highp vec3 x_7;
  x_7 = (tmpvar_5 - tmpvar_3);
  tmpvar_6 = sqrt(dot (x_7, x_7));
  highp vec3 tmpvar_8;
  tmpvar_8 = normalize((tmpvar_5 - tmpvar_3));
  highp vec3 _ray_9;
  _ray_9 = tmpvar_3;
  highp vec3 _dir_10;
  _dir_10 = tmpvar_8;
  highp float tt_12;
  tt_12 = 0.0;
  for (highp int ii_11 = 0; ii_11 < 64; ii_11++) {
    highp vec3 _pos_13;
    _pos_13 = (_ray_9 + (_dir_10 * tt_12));
    highp vec3 tmpvar_14;
    tmpvar_14 = max ((abs(_pos_13) - vec3(2.5, 2.5, 2.5)), 0.0);
    highp vec3 _pos_15;
    _pos_15 = (_pos_13 + vec3(4.0, 0.0, 0.0));
    highp vec3 _pos_16;
    _pos_16 = (_pos_13 + vec3(-4.0, 0.0, 0.0));
    highp vec3 _pos_17;
    _pos_17 = (_pos_13 + vec3(0.0, 4.0, 0.0));
    highp vec3 _pos_18;
    _pos_18 = (_pos_13 + vec3(0.0, -4.0, 0.0));
    highp vec3 _pos_19;
    _pos_19 = (_pos_13 + vec3(0.0, 0.0, 4.0));
    highp vec3 _pos_20;
    _pos_20 = (_pos_13 + vec3(0.0, 0.0, -4.0));
    highp float tmpvar_21;
    tmpvar_21 = min (min (min (
      min (min (min ((
        sqrt(dot (tmpvar_14, tmpvar_14))
       - 0.5), (
        sqrt(dot (_pos_15, _pos_15))
       - 1.0)), (sqrt(
        dot (_pos_16, _pos_16)
      ) - 1.0)), (sqrt(dot (_pos_17, _pos_17)) - 1.0))
    , 
      (sqrt(dot (_pos_18, _pos_18)) - 1.0)
    ), (
      sqrt(dot (_pos_19, _pos_19))
     - 1.0)), (sqrt(
      dot (_pos_20, _pos_20)
    ) - 1.0));
    if ((tmpvar_21 > 0.001)) {
      tt_12 = (tt_12 + tmpvar_21);
    };
  };
  highp float tmpvar_22;
  if ((tt_12 < tmpvar_6)) {
    tmpvar_22 = tt_12;
  } else {
    tmpvar_22 = 0.0;
  };
  if ((tmpvar_22 > 0.5)) {
    mediump float val_23;
    highp vec3 tmpvar_24;
    tmpvar_24 = (tmpvar_3 + (tmpvar_8 * tmpvar_22));
    highp vec3 _pos_25;
    _pos_25 = (tmpvar_24 + vec3(0.002, 0.0, 0.0));
    highp vec3 tmpvar_26;
    tmpvar_26 = max ((abs(_pos_25) - vec3(2.5, 2.5, 2.5)), 0.0);
    highp vec3 _pos_27;
    _pos_27 = (_pos_25 + vec3(4.0, 0.0, 0.0));
    highp vec3 _pos_28;
    _pos_28 = (_pos_25 + vec3(-4.0, 0.0, 0.0));
    highp vec3 _pos_29;
    _pos_29 = (_pos_25 + vec3(0.0, 4.0, 0.0));
    highp vec3 _pos_30;
    _pos_30 = (_pos_25 + vec3(0.0, -4.0, 0.0));
    highp vec3 _pos_31;
    _pos_31 = (_pos_25 + vec3(0.0, 0.0, 4.0));
    highp vec3 _pos_32;
    _pos_32 = (_pos_25 + vec3(0.0, 0.0, -4.0));
    highp vec3 _pos_33;
    _pos_33 = (tmpvar_24 - vec3(0.002, 0.0, 0.0));
    highp vec3 tmpvar_34;
    tmpvar_34 = max ((abs(_pos_33) - vec3(2.5, 2.5, 2.5)), 0.0);
    highp vec3 _pos_35;
    _pos_35 = (_pos_33 + vec3(4.0, 0.0, 0.0));
    highp vec3 _pos_36;
    _pos_36 = (_pos_33 + vec3(-4.0, 0.0, 0.0));
    highp vec3 _pos_37;
    _pos_37 = (_pos_33 + vec3(0.0, 4.0, 0.0));
    highp vec3 _pos_38;
    _pos_38 = (_pos_33 + vec3(0.0, -4.0, 0.0));
    highp vec3 _pos_39;
    _pos_39 = (_pos_33 + vec3(0.0, 0.0, 4.0));
    highp vec3 _pos_40;
    _pos_40 = (_pos_33 + vec3(0.0, 0.0, -4.0));
    highp vec3 _pos_41;
    _pos_41 = (tmpvar_24 + vec3(0.0, 0.002, 0.0));
    highp vec3 tmpvar_42;
    tmpvar_42 = max ((abs(_pos_41) - vec3(2.5, 2.5, 2.5)), 0.0);
    highp vec3 _pos_43;
    _pos_43 = (_pos_41 + vec3(4.0, 0.0, 0.0));
    highp vec3 _pos_44;
    _pos_44 = (_pos_41 + vec3(-4.0, 0.0, 0.0));
    highp vec3 _pos_45;
    _pos_45 = (_pos_41 + vec3(0.0, 4.0, 0.0));
    highp vec3 _pos_46;
    _pos_46 = (_pos_41 + vec3(0.0, -4.0, 0.0));
    highp vec3 _pos_47;
    _pos_47 = (_pos_41 + vec3(0.0, 0.0, 4.0));
    highp vec3 _pos_48;
    _pos_48 = (_pos_41 + vec3(0.0, 0.0, -4.0));
    highp vec3 _pos_49;
    _pos_49 = (tmpvar_24 - vec3(0.0, 0.002, 0.0));
    highp vec3 tmpvar_50;
    tmpvar_50 = max ((abs(_pos_49) - vec3(2.5, 2.5, 2.5)), 0.0);
    highp vec3 _pos_51;
    _pos_51 = (_pos_49 + vec3(4.0, 0.0, 0.0));
    highp vec3 _pos_52;
    _pos_52 = (_pos_49 + vec3(-4.0, 0.0, 0.0));
    highp vec3 _pos_53;
    _pos_53 = (_pos_49 + vec3(0.0, 4.0, 0.0));
    highp vec3 _pos_54;
    _pos_54 = (_pos_49 + vec3(0.0, -4.0, 0.0));
    highp vec3 _pos_55;
    _pos_55 = (_pos_49 + vec3(0.0, 0.0, 4.0));
    highp vec3 _pos_56;
    _pos_56 = (_pos_49 + vec3(0.0, 0.0, -4.0));
    highp vec3 _pos_57;
    _pos_57 = (tmpvar_24 + vec3(0.0, 0.0, 0.002));
    highp vec3 tmpvar_58;
    tmpvar_58 = max ((abs(_pos_57) - vec3(2.5, 2.5, 2.5)), 0.0);
    highp vec3 _pos_59;
    _pos_59 = (_pos_57 + vec3(4.0, 0.0, 0.0));
    highp vec3 _pos_60;
    _pos_60 = (_pos_57 + vec3(-4.0, 0.0, 0.0));
    highp vec3 _pos_61;
    _pos_61 = (_pos_57 + vec3(0.0, 4.0, 0.0));
    highp vec3 _pos_62;
    _pos_62 = (_pos_57 + vec3(0.0, -4.0, 0.0));
    highp vec3 _pos_63;
    _pos_63 = (_pos_57 + vec3(0.0, 0.0, 4.0));
    highp vec3 _pos_64;
    _pos_64 = (_pos_57 + vec3(0.0, 0.0, -4.0));
    highp vec3 _pos_65;
    _pos_65 = (tmpvar_24 - vec3(0.0, 0.0, 0.002));
    highp vec3 tmpvar_66;
    tmpvar_66 = max ((abs(_pos_65) - vec3(2.5, 2.5, 2.5)), 0.0);
    highp vec3 _pos_67;
    _pos_67 = (_pos_65 + vec3(4.0, 0.0, 0.0));
    highp vec3 _pos_68;
    _pos_68 = (_pos_65 + vec3(-4.0, 0.0, 0.0));
    highp vec3 _pos_69;
    _pos_69 = (_pos_65 + vec3(0.0, 4.0, 0.0));
    highp vec3 _pos_70;
    _pos_70 = (_pos_65 + vec3(0.0, -4.0, 0.0));
    highp vec3 _pos_71;
    _pos_71 = (_pos_65 + vec3(0.0, 0.0, 4.0));
    highp vec3 _pos_72;
    _pos_72 = (_pos_65 + vec3(0.0, 0.0, -4.0));
    highp vec3 tmpvar_73;
    tmpvar_73.x = (min (min (
      min (min (min (min (
        (sqrt(dot (tmpvar_26, tmpvar_26)) - 0.5)
      , 
        (sqrt(dot (_pos_27, _pos_27)) - 1.0)
      ), (
        sqrt(dot (_pos_28, _pos_28))
       - 1.0)), (sqrt(
        dot (_pos_29, _pos_29)
      ) - 1.0)), (sqrt(dot (_pos_30, _pos_30)) - 1.0))
    , 
      (sqrt(dot (_pos_31, _pos_31)) - 1.0)
    ), (
      sqrt(dot (_pos_32, _pos_32))
     - 1.0)) - min (min (
      min (min (min (min (
        (sqrt(dot (tmpvar_34, tmpvar_34)) - 0.5)
      , 
        (sqrt(dot (_pos_35, _pos_35)) - 1.0)
      ), (
        sqrt(dot (_pos_36, _pos_36))
       - 1.0)), (sqrt(
        dot (_pos_37, _pos_37)
      ) - 1.0)), (sqrt(dot (_pos_38, _pos_38)) - 1.0))
    , 
      (sqrt(dot (_pos_39, _pos_39)) - 1.0)
    ), (
      sqrt(dot (_pos_40, _pos_40))
     - 1.0)));
    tmpvar_73.y = (min (min (
      min (min (min (min (
        (sqrt(dot (tmpvar_42, tmpvar_42)) - 0.5)
      , 
        (sqrt(dot (_pos_43, _pos_43)) - 1.0)
      ), (
        sqrt(dot (_pos_44, _pos_44))
       - 1.0)), (sqrt(
        dot (_pos_45, _pos_45)
      ) - 1.0)), (sqrt(dot (_pos_46, _pos_46)) - 1.0))
    , 
      (sqrt(dot (_pos_47, _pos_47)) - 1.0)
    ), (
      sqrt(dot (_pos_48, _pos_48))
     - 1.0)) - min (min (
      min (min (min (min (
        (sqrt(dot (tmpvar_50, tmpvar_50)) - 0.5)
      , 
        (sqrt(dot (_pos_51, _pos_51)) - 1.0)
      ), (
        sqrt(dot (_pos_52, _pos_52))
       - 1.0)), (sqrt(
        dot (_pos_53, _pos_53)
      ) - 1.0)), (sqrt(dot (_pos_54, _pos_54)) - 1.0))
    , 
      (sqrt(dot (_pos_55, _pos_55)) - 1.0)
    ), (
      sqrt(dot (_pos_56, _pos_56))
     - 1.0)));
    tmpvar_73.z = (min (min (
      min (min (min (min (
        (sqrt(dot (tmpvar_58, tmpvar_58)) - 0.5)
      , 
        (sqrt(dot (_pos_59, _pos_59)) - 1.0)
      ), (
        sqrt(dot (_pos_60, _pos_60))
       - 1.0)), (sqrt(
        dot (_pos_61, _pos_61)
      ) - 1.0)), (sqrt(dot (_pos_62, _pos_62)) - 1.0))
    , 
      (sqrt(dot (_pos_63, _pos_63)) - 1.0)
    ), (
      sqrt(dot (_pos_64, _pos_64))
     - 1.0)) - min (min (
      min (min (min (min (
        (sqrt(dot (tmpvar_66, tmpvar_66)) - 0.5)
      , 
        (sqrt(dot (_pos_67, _pos_67)) - 1.0)
      ), (
        sqrt(dot (_pos_68, _pos_68))
       - 1.0)), (sqrt(
        dot (_pos_69, _pos_69)
      ) - 1.0)), (sqrt(dot (_pos_70, _pos_70)) - 1.0))
    , 
      (sqrt(dot (_pos_71, _pos_71)) - 1.0)
    ), (
      sqrt(dot (_pos_72, _pos_72))
     - 1.0)));
    highp vec3 tmpvar_74;
    tmpvar_74 = normalize(tmpvar_73);
    highp float tmpvar_75;
    tmpvar_75 = dot (tmpvar_74, u_lightDirTime.xyz);
    highp vec2 tmpvar_76;
    tmpvar_76.x = tmpvar_75;
    tmpvar_76.y = dot ((u_lightDirTime.xyz - (
      (2.0 * tmpvar_75)
     * tmpvar_74)), tmpvar_8);
    highp float tmpvar_77;
    tmpvar_77 = max (0.0, tmpvar_75);
    highp vec4 tmpvar_78;
    tmpvar_78.xw = vec2(1.0, 1.0);
    tmpvar_78.y = tmpvar_77;
    tmpvar_78.z = (float((tmpvar_75 >= 0.0)) * max (0.0, tmpvar_76.y));
    highp float occ_79;
    highp vec3 _pos_80;
    _pos_80 = (tmpvar_24 + (tmpvar_74 * 0.2));
    highp vec3 tmpvar_81;
    tmpvar_81 = max ((abs(_pos_80) - vec3(2.5, 2.5, 2.5)), 0.0);
    highp vec3 _pos_82;
    _pos_82 = (_pos_80 + vec3(4.0, 0.0, 0.0));
    highp vec3 _pos_83;
    _pos_83 = (_pos_80 + vec3(-4.0, 0.0, 0.0));
    highp vec3 _pos_84;
    _pos_84 = (_pos_80 + vec3(0.0, 4.0, 0.0));
    highp vec3 _pos_85;
    _pos_85 = (_pos_80 + vec3(0.0, -4.0, 0.0));
    highp vec3 _pos_86;
    _pos_86 = (_pos_80 + vec3(0.0, 0.0, 4.0));
    highp vec3 _pos_87;
    _pos_87 = (_pos_80 + vec3(0.0, 0.0, -4.0));
    occ_79 = ((0.2 - min (
      min (min (min (min (
        min ((sqrt(dot (tmpvar_81, tmpvar_81)) - 0.5), (sqrt(dot (_pos_82, _pos_82)) - 1.0))
      , 
        (sqrt(dot (_pos_83, _pos_83)) - 1.0)
      ), (
        sqrt(dot (_pos_84, _pos_84))
       - 1.0)), (sqrt(
        dot (_pos_85, _pos_85)
      ) - 1.0)), (sqrt(dot (_pos_86, _pos_86)) - 1.0))
    , 
      (sqrt(dot (_pos_87, _pos_87)) - 1.0)
    )) / 2.0);
    highp vec3 _pos_88;
    _pos_88 = (tmpvar_24 + (0.4 * tmpvar_74));
    highp vec3 tmpvar_89;
    tmpvar_89 = max ((abs(_pos_88) - vec3(2.5, 2.5, 2.5)), 0.0);
    highp vec3 _pos_90;
    _pos_90 = (_pos_88 + vec3(4.0, 0.0, 0.0));
    highp vec3 _pos_91;
    _pos_91 = (_pos_88 + vec3(-4.0, 0.0, 0.0));
    highp vec3 _pos_92;
    _pos_92 = (_pos_88 + vec3(0.0, 4.0, 0.0));
    highp vec3 _pos_93;
    _pos_93 = (_pos_88 + vec3(0.0, -4.0, 0.0));
    highp vec3 _pos_94;
    _pos_94 = (_pos_88 + vec3(0.0, 0.0, 4.0));
    highp vec3 _pos_95;
    _pos_95 = (_pos_88 + vec3(0.0, 0.0, -4.0));
    occ_79 = (occ_79 + ((0.4 - 
      min (min (min (min (
        min (min ((sqrt(
          dot (tmpvar_89, tmpvar_89)
        ) - 0.5), (sqrt(
          dot (_pos_90, _pos_90)
        ) - 1.0)), (sqrt(dot (_pos_91, _pos_91)) - 1.0))
      , 
        (sqrt(dot (_pos_92, _pos_92)) - 1.0)
      ), (
        sqrt(dot (_pos_93, _pos_93))
       - 1.0)), (sqrt(
        dot (_pos_94, _pos_94)
      ) - 1.0)), (sqrt(dot (_pos_95, _pos_95)) - 1.0))
    ) / 4.0));
    highp vec3 _pos_96;
    _pos_96 = (tmpvar_24 + (0.6 * tmpvar_74));
    highp vec3 tmpvar_97;
    tmpvar_97 = max ((abs(_pos_96) - vec3(2.5, 2.5, 2.5)), 0.0);
    highp vec3 _pos_98;
    _pos_98 = (_pos_96 + vec3(4.0, 0.0, 0.0));
    highp vec3 _pos_99;
    _pos_99 = (_pos_96 + vec3(-4.0, 0.0, 0.0));
    highp vec3 _pos_100;
    _pos_100 = (_pos_96 + vec3(0.0, 4.0, 0.0));
    highp vec3 _pos_101;
    _pos_101 = (_pos_96 + vec3(0.0, -4.0, 0.0));
    highp vec3 _pos_102;
    _pos_102 = (_pos_96 + vec3(0.0, 0.0, 4.0));
    highp vec3 _pos_103;
    _pos_103 = (_pos_96 + vec3(0.0, 0.0, -4.0));
    occ_79 = (occ_79 + ((0.6 - 
      min (min (min (min (
        min (min ((sqrt(
          dot (tmpvar_97, tmpvar_97)
        ) - 0.5), (sqrt(
          dot (_pos_98, _pos_98)
        ) - 1.0)), (sqrt(dot (_pos_99, _pos_99)) - 1.0))
      , 
        (sqrt(dot (_pos_100, _pos_100)) - 1.0)
      ), (
        sqrt(dot (_pos_101, _pos_101))
       - 1.0)), (sqrt(
        dot (_pos_102, _pos_102)
      ) - 1.0)), (sqrt(dot (_pos_103, _pos_103)) - 1.0))
    ) / 8.0));
    val_23 = (((0.9 * tmpvar_77) + (
      pow (tmpvar_78.z, 128.0)
     * 
      max ((0.2 + (0.8 * pow (
        (1.0 - tmpvar_75)
      , 5.0))), 0.0)
    )) * (1.0 - occ_79));
    mediump float tmpvar_104;
    tmpvar_104 = pow (val_23, 0.4545454);
    val_23 = tmpvar_104;
    mediump vec4 tmpvar_105;
    tmpvar_105.w = 1.0;
    tmpvar_105.x = tmpvar_104;
    tmpvar_105.y = tmpvar_104;
    tmpvar_105.z = tmpvar_104;
    gl_FragColor = tmpvar_105;
    gl_FragDepth    = (tmpvar_22 / tmpvar_6);
  } else {
    gl_FragColor = v_color0;
    gl_FragDepth    = 1.0;
  };
}

 