{"version":2,"baseVals":{"rating":1,"gammaadj":1,"decay":1,"echo_orient":1,"additivewave":1,"wave_a":0.002,"wave_scale":2.713,"wave_smoothing":0,"modwavealphastart":1.2,"modwavealphaend":1.2,"warpscale":1.331,"zoom":0.9995,"warp":0.009,"wave_r":0.44,"wave_g":0.4,"ob_size":0.5,"ob_r":0.01,"ib_size":0.26,"mv_x":64,"mv_y":48,"mv_l":0.85,"mv_r":0.5,"mv_g":0.5,"mv_b":0.5,"mv_a":0,"b1ed":0},"shapes":[{"baseVals":{"sides":3,"additive":1,"num_inst":347,"rad":0.20065,"ang":0.75398,"tex_ang":3.14159,"tex_zoom":0.99979,"r":0,"g2":0,"border_g":0.5,"border_b":0.15,"border_a":1,"enabled":0},"init_eqs_eel":"","frame_eqs_eel":"//lorenz-attractor calc\nxx1 = if(equal(instance,0),q11,xx1);\nyy1 = if(equal(instance,0),q12,yy1);\nzz1 = if(equal(instance,0),q13,zz1);\n\ndx1 = q14*(yy1-xx1);\ndy1 = xx1*(q15-zz1)-yy1;\ndz1 = xx1*yy1-q16*zz1;\ndd = sqrt(dx1*dx1+dy1*dy1+dz1*dz1);\nxx1 = xx1 + q17*dx1/dd;\nyy1 = yy1 + q17*dy1/dd;\nzz1 = zz1 + q17*dz1/dd;\n\n\n// 3D object model coordinates\nmy_x = xx1*0.1;\nmy_y = yy1*0.1;\nmy_z = zz1*0.1 - 3;\n\n\nd = 5; // camera distance\nzoom = 0.66;\n\n// solid angles\nw3 = -q3;\nw2 = q4;\nw1 = q5;\n\n// 3D rotation\nx1 = cos(w1)*my_x + sin(w1)*my_y;\ny1 = -sin(w1)*my_x + cos(w1)*my_y;\nz1 = my_z;\n\nx2 = cos(w2)*x1 + sin(w2)*z1;\nz2 = -sin(w2)*x1 + cos(w2)*z1;\ny2 = y1;\n\ny3 = cos(w3)*y2 + sin(w3)*z2;\nz3 = -sin(w3)*y2 + cos(w3)*z2;\nx3 = x2;\n\n// perspective calculation\n\nl = sqrt(x3*x3 + y3*y3);\nw = atan2(x3,y3);\np = tan(asin(1) + atan2(d+z3,l));\nd = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d));\n\nmy_x = zoom*sin(w)*p;\nmy_y = zoom*cos(w)*p;\n\nx = 0.5 + my_x;\ny = 0.5 + my_y;\n\nrad = rad/d;\nang = ang-instance/num_inst*asin(1)*8;"},{"baseVals":{"enabled":1,"sides":52,"rad":0.72136,"tex_zoom":0.7874,"r":0,"a":0.05,"g2":0,"border_a":0},"init_eqs_eel":"started = 0;\nt1 = 0.412; //seeds for pseudo random generator\nt2 = 0.4563;\nt3 = 0.6452;\nt4 = 0.2565;","frame_eqs_eel":""},{"baseVals":{"sides":12,"additive":1,"num_inst":512,"y":0.55,"rad":0.2667,"tex_zoom":0.7874,"r":0,"g":0.1,"b":0.55,"g2":0,"border_a":0,"enabled":0},"init_eqs_eel":"started = 0;\nt1 = 0.412; //seeds for pseudo random generator\nt2 = 0.4563;\nt3 = 0.6452;\nt4 = 0.2565;","frame_eqs_eel":"rnd1 = if(equal(instance,0),t1,rnd1);\nrnd2 = if(equal(instance,0),t2,rnd2);\nrnd3 = if(equal(instance,0),t3,rnd3);\nrnd4 = if(equal(instance,0),t4,rnd4);\nrnd1 = 4*rnd1*(1-rnd1);\nrnd2 = 4*rnd2*(1-rnd2);\nrnd3 = 4*rnd3*(1-rnd3);\nrnd4 = 4*rnd4*(1-rnd4);\nt = .6;\nt =  (rnd1+time*t) - int(rnd1+time*t);\nt = t + rnd2*0.1;\nwh = rnd4*asin(1)*4;\nwv = 0.25 + rnd3*0.1;\n\nd = 6; // makes the perspective impact\nzoom = 1;\nl = 1;\n\n// Kardan angles\n\nw1 = q3; // first rotation: clockwise in the desktop pane\nw2 = q4; // rotation around vertical axis\nw3 = q5; // rotation around horizontal axis\n\n\n// definition of the 3D shape\n\ni = instance;\n\nmy_x = t *(cos(wh)*sin(wv)*l)*4;\nmy_z = (-0.5 +(t-0.75)*(t-0.75))*cos(wv)*l*4;\nmy_y = t*(sin(wh)*sin(wv)*l)*4;\n\n\n// 3D rotations\n\nx1 = cos(w1)*my_x + sin(w1)*my_y;\ny1 = -sin(w1)*my_x + cos(w1)*my_y;\nz1 = my_z;\n\nx2 = cos(w2)*x1 + sin(w2)*z1;\nz2 = -sin(w2)*x1 + cos(w2)*z1;\ny2 = y1;\n\ny3 = cos(w3)*y2 + sin(w3)*z2;\nz3 = -sin(w3)*y2 + cos(w3)*z2;\nx3 = x2;\n\n// perspective calculation\n\np = tan(asin(1) + atan2(d+z3,sqrt(x3*x3 + y3*y3)));\nd = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d));\n\nrad = rad/d;\nmy_x = zoom*sin(atan2(x3,y3))*p;\nmy_y = zoom*cos(atan2(x3,y3))*p;\n\nx = 0.5 + my_x;\ny = 0.5 + my_y;\n\nx = 0.5 + (x-0.5)/q2;\ny = 0.5 + (y-0.5)/q1;"},{"baseVals":{"sides":12,"additive":1,"num_inst":512,"y":0.55,"rad":0.05012,"tex_zoom":0.7874,"r":0,"g":0.02,"b":0.11,"g2":0,"border_a":0,"enabled":0},"init_eqs_eel":"started = 0;\nt1 = 0.412; //seeds for pseudo random generator\nt2 = 0.4563;\nt3 = 0.6452;\nt4 = 0.2565;","frame_eqs_eel":"rnd1 = if(equal(instance,0),t1,rnd1);\nrnd2 = if(equal(instance,0),t2,rnd2);\nrnd3 = if(equal(instance,0),t3,rnd3);\nrnd4 = if(equal(instance,0),t4,rnd4);\nrnd1 = 4*rnd1*(1-rnd1);\nrnd2 = 4*rnd2*(1-rnd2);\nrnd3 = 4*rnd3*(1-rnd3);\nrnd4 = 4*rnd4*(1-rnd4);\nt = .6;\nt =  (rnd1+time*t) - int(rnd1+time*t);\nt = t + rnd2*0.1;\nwh = rnd4*asin(1)*4;\nwv = 0.25 + rnd3*0.1;\n\nd = 1.4; // makes the perspective impact\nzoom = 1;\nl = 1;\n\n// Kardan angles\n\nw1 = q3; // first rotation: clockwise in the desktop pane\nw2 = q4; // rotation around vertical axis\nw3 = q5; // rotation around horizontal axis\n\n\n// definition of the 3D shape\n\ni = instance;\n\nmy_x = t *(cos(wh)*sin(wv)*l);\nmy_y = (-0.5 +(t-0.75)*(t-0.75))*cos(wv)*l;\nmy_z = t*(sin(wh)*sin(wv)*l);\n\n\n// 3D rotations\n\nx1 = cos(w1)*my_x + sin(w1)*my_y;\ny1 = -sin(w1)*my_x + cos(w1)*my_y;\nz1 = my_z;\n\nx2 = cos(w2)*x1 + sin(w2)*z1;\nz2 = -sin(w2)*x1 + cos(w2)*z1;\ny2 = y1;\n\ny3 = cos(w3)*y2 + sin(w3)*z2;\nz3 = -sin(w3)*y2 + cos(w3)*z2;\nx3 = x2;\n\n// perspective calculation\n\np = tan(asin(1) + atan2(d+z3,sqrt(x3*x3 + y3*y3)));\nd = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d));\n\nrad = rad/d;\nmy_x = zoom*sin(atan2(x3,y3))*p;\nmy_y = zoom*cos(atan2(x3,y3))*p;\n\nx = 0.5 + my_x;\ny = 0.5 + my_y;\n\nx = 0.5 + (x-0.5)/q2;\ny = 0.5 + (y-0.5)/q1;"}],"waves":[{"baseVals":{"samples":495,"sep":4,"spectrum":1,"thick":1,"additive":1,"scaling":100,"smoothing":1,"a":0.21,"enabled":0},"init_eqs_eel":"t2 = 0;\nt3 = 0;\nt4 = 0;\nab = 1;","frame_eqs_eel":"","point_eqs_eel":"// lorenz-attractor calc\nxx1 = if(equal(sample,0),q11,xx1);\nyy1 = if(equal(sample,0),q12,yy1);\nzz1 = if(equal(sample,0),q13,zz1);\ndx1 = q14*(yy1-xx1);\ndy1 = xx1*(q15-zz1)-yy1;\ndz1 = xx1*yy1-q16*zz1;\nxx1 = xx1 + q17*dx1;\nyy1 = yy1 + q17*dy1;\nzz1 = zz1 + q17*dz1;\n\n// 3D model coordinates\nmy_x = xx1*0.1;\nmy_y = yy1*0.1;\nmy_z = zz1*0.1 - 3;\n\n\nd = 5; // distance of the camera (on the z-axis) to the origin\nzoom = 0.4;\n\n// solid angles\nw1 = q2;\nw2 = q3;\nw3 = q4;\n\n// rotations\nx1 = cos(w1)*my_x + sin(w1)*my_y;\ny1 = -sin(w1)*my_x + cos(w1)*my_y;\nz1 = my_z;\n\nx2 = cos(w2)*x1 + sin(w2)*z1;\nz2 = -sin(w2)*x1 + cos(w2)*z1;\ny2 = y1;\n\ny3 = cos(w3)*y2 + sin(w3)*z2;\nz3 = -sin(w3)*y2 + cos(w3)*z2;\nx3 = x2;\n\n// perspective calculation\n\nl = sqrt(x3*x3 + y3*y3);\nw = atan2(x3,y3);\np = tan(asin(1) + atan2(d+z3,l));\nd = sqrt(x3*x3 + y3*y3 + (z3+d)*(z3+d));\n\nmy_x = zoom*sin(w)*p;\nmy_y = zoom*cos(w)*p;\n\nx = 0.5 + my_x;\ny = 0.5 + my_y;"},{"baseVals":{"enabled":0},"init_eqs_eel":"","frame_eqs_eel":"","point_eqs_eel":"xx1 = if(equal(sample,0),q11,xx1);\nyy1 = if(equal(sample,0),q12,yy1);\nzz1 = if(equal(sample,0),q13,zz1);\n\ndx1 = q14*(yy1-xx1);\ndy1 = xx1*(q15-zz1)-yy1;\ndz1 = xx1*yy1-q16*zz1;\nxx1 = xx1 + q17*dx1;\nyy1 = yy1 + q17*dy1;\nzz1 = zz1 + q17*dz1;\n\nmy_x = xx1*0.02;\nmy_y = yy1*0.02;\nmy_z = zz1*0.02;\n\nx = 0.5 + my_x;\ny = 0.5 + my_y;"},{"baseVals":{"enabled":0},"init_eqs_eel":"","frame_eqs_eel":"","point_eqs_eel":""},{"baseVals":{"enabled":0},"init_eqs_eel":"","frame_eqs_eel":"","point_eqs_eel":""}],"init_eqs_eel":"x1 = 2;\ny1= 2;\nz1 = 2;","frame_eqs_eel":"// raytraced sphere code\n\nd = 20; // distance of the sphere, the farther you're away the more you'll see on the horizon\nz = 4; // distance of the pane where the scene is projected on, wider distance = smaller apex angle of the camera, very small distances = fish eyes view\n\nzz = 1 + bass_att*0; // linear zoom\n\npi = asin(1)*2;\npi2inv = 0.5/pi;\nmaskangle = asin( 1/d);\nq32 = maskangle; // hit = (cameras angle < mask_angle)\nq31 = d;\nq30 = z;\nq29 = pi2inv;\nq28 = pi;\nq27 = 1/zz;\n\nv = 0.4;\nj1 = j1*0.95 + sqr(bass*4)*v;\nj2 = j2*0.95 + sqr(mid*4)*v;\nj3 = j3*0.95 + sqr(treb*4)*v;\n\nn = n + j1*0.0152;\nn1 = n1 + j2*0.0152;\nn2 = n2 + j3*0.0152;\n\nvol=(bass+mid+treb)*0.25;\nvol=vol;\nq3=vol;\nmtime = mtime+vol*0.01;\nq1=mtime;\n\nzoom = zoom + 0.015*vol;\n\nw1 = n*0.01;    // solid angles to rotate the sphere in its origin\nw2 = n1*0.01;\nw3 = n2*0.01;\n\nq20 = cos(w1);\nq21 = sin(w1);\nq22 = cos(w2);\nq23 = sin(w2);\nq24 = cos(w3);\nq25 = sin(w3);","pixel_eqs_eel":"","warp":" shader_body { \n  vec3 noise2_1;\n  vec3 rc_2;\n  vec3 p_3;\n  vec2 polar_4;\n  vec3 ret_5;\n  vec2 tmpvar_6;\n  tmpvar_6 = ((q27 * (uv - 0.5)) * aspect.xy);\n  float tmpvar_7;\n  tmpvar_7 = sqrt(dot (tmpvar_6, tmpvar_6));\n  float tmpvar_8;\n  float tmpvar_9;\n  tmpvar_9 = (min (abs(\n    (tmpvar_7 / q30)\n  ), 1.0) / max (abs(\n    (tmpvar_7 / q30)\n  ), 1.0));\n  float tmpvar_10;\n  tmpvar_10 = (tmpvar_9 * tmpvar_9);\n  tmpvar_10 = (((\n    ((((\n      ((((-0.01213232 * tmpvar_10) + 0.05368138) * tmpvar_10) - 0.1173503)\n     * tmpvar_10) + 0.1938925) * tmpvar_10) - 0.3326756)\n   * tmpvar_10) + 0.9999793) * tmpvar_9);\n  tmpvar_10 = (tmpvar_10 + (float(\n    (abs((tmpvar_7 / q30)) > 1.0)\n  ) * (\n    (tmpvar_10 * -2.0)\n   + 1.570796)));\n  tmpvar_8 = (tmpvar_10 * sign((tmpvar_7 / q30)));\n  if ((abs(q30) > (1e-08 * abs(tmpvar_7)))) {\n    if ((q30 < 0.0)) {\n      if ((tmpvar_7 >= 0.0)) {\n        tmpvar_8 += 3.141593;\n      } else {\n        tmpvar_8 = (tmpvar_8 - 3.141593);\n      };\n    };\n  } else {\n    tmpvar_8 = (sign(tmpvar_7) * 1.570796);\n  };\n  bool tmpvar_11;\n  tmpvar_11 = (q32 >= tmpvar_8);\n  float tmpvar_12;\n  float tmpvar_13;\n  tmpvar_13 = (min (abs(\n    (tmpvar_6.x / tmpvar_6.y)\n  ), 1.0) / max (abs(\n    (tmpvar_6.x / tmpvar_6.y)\n  ), 1.0));\n  float tmpvar_14;\n  tmpvar_14 = (tmpvar_13 * tmpvar_13);\n  tmpvar_14 = (((\n    ((((\n      ((((-0.01213232 * tmpvar_14) + 0.05368138) * tmpvar_14) - 0.1173503)\n     * tmpvar_14) + 0.1938925) * tmpvar_14) - 0.3326756)\n   * tmpvar_14) + 0.9999793) * tmpvar_13);\n  tmpvar_14 = (tmpvar_14 + (float(\n    (abs((tmpvar_6.x / tmpvar_6.y)) > 1.0)\n  ) * (\n    (tmpvar_14 * -2.0)\n   + 1.570796)));\n  tmpvar_12 = (tmpvar_14 * sign((tmpvar_6.x / tmpvar_6.y)));\n  if ((abs(tmpvar_6.y) > (1e-08 * abs(tmpvar_6.x)))) {\n    if ((tmpvar_6.y < 0.0)) {\n      if ((tmpvar_6.x >= 0.0)) {\n        tmpvar_12 += 3.141593;\n      } else {\n        tmpvar_12 = (tmpvar_12 - 3.141593);\n      };\n    };\n  } else {\n    tmpvar_12 = (sign(tmpvar_6.x) * 1.570796);\n  };\n  float x_15;\n  x_15 = (q31 * sin(tmpvar_8));\n  vec2 tmpvar_16;\n  tmpvar_16.x = tmpvar_12;\n  tmpvar_16.y = ((q28 - tmpvar_8) + (sign(x_15) * (1.570796 - \n    (sqrt((1.0 - abs(x_15))) * (1.570796 + (abs(x_15) * (-0.2146018 + \n      (abs(x_15) * (0.08656672 + (abs(x_15) * -0.03102955)))\n    ))))\n  )));\n  polar_4 = tmpvar_16;\n  vec3 tmpvar_17;\n  tmpvar_17.x = (sin(tmpvar_12) * sin(tmpvar_16.y));\n  tmpvar_17.y = (cos(tmpvar_12) * sin(tmpvar_16.y));\n  tmpvar_17.z = cos(tmpvar_16.y);\n  vec2 tmpvar_18;\n  tmpvar_18.x = ((tmpvar_17.z * q20) - (tmpvar_17.y * q21));\n  tmpvar_18.y = ((tmpvar_17.z * q21) + (tmpvar_17.y * q20));\n  vec2 tmpvar_19;\n  tmpvar_19.x = ((tmpvar_18.x * q22) - (tmpvar_17.x * q23));\n  tmpvar_19.y = ((tmpvar_18.x * q23) + (tmpvar_17.x * q22));\n  p_3.z = tmpvar_19.x;\n  vec2 tmpvar_20;\n  tmpvar_20.x = ((tmpvar_18.y * q24) - (tmpvar_19.y * q25));\n  tmpvar_20.y = ((tmpvar_18.y * q25) + (tmpvar_19.y * q24));\n  p_3.xy = tmpvar_20.yx;\n  float tmpvar_21;\n  float tmpvar_22;\n  tmpvar_22 = (min (abs(\n    (tmpvar_19.x / tmpvar_20.y)\n  ), 1.0) / max (abs(\n    (tmpvar_19.x / tmpvar_20.y)\n  ), 1.0));\n  float tmpvar_23;\n  tmpvar_23 = (tmpvar_22 * tmpvar_22);\n  tmpvar_23 = (((\n    ((((\n      ((((-0.01213232 * tmpvar_23) + 0.05368138) * tmpvar_23) - 0.1173503)\n     * tmpvar_23) + 0.1938925) * tmpvar_23) - 0.3326756)\n   * tmpvar_23) + 0.9999793) * tmpvar_22);\n  tmpvar_23 = (tmpvar_23 + (float(\n    (abs((tmpvar_19.x / tmpvar_20.y)) > 1.0)\n  ) * (\n    (tmpvar_23 * -2.0)\n   + 1.570796)));\n  tmpvar_21 = (tmpvar_23 * sign((tmpvar_19.x / tmpvar_20.y)));\n  if ((abs(tmpvar_20.y) > (1e-08 * abs(tmpvar_19.x)))) {\n    if ((tmpvar_20.y < 0.0)) {\n      if ((tmpvar_19.x >= 0.0)) {\n        tmpvar_21 += 3.141593;\n      } else {\n        tmpvar_21 = (tmpvar_21 - 3.141593);\n      };\n    };\n  } else {\n    tmpvar_21 = (sign(tmpvar_19.x) * 1.570796);\n  };\n  float tmpvar_24;\n  tmpvar_24 = sqrt(dot (p_3.xz, p_3.xz));\n  float tmpvar_25;\n  float tmpvar_26;\n  tmpvar_26 = (min (abs(\n    (tmpvar_20.x / tmpvar_24)\n  ), 1.0) / max (abs(\n    (tmpvar_20.x / tmpvar_24)\n  ), 1.0));\n  float tmpvar_27;\n  tmpvar_27 = (tmpvar_26 * tmpvar_26);\n  tmpvar_27 = (((\n    ((((\n      ((((-0.01213232 * tmpvar_27) + 0.05368138) * tmpvar_27) - 0.1173503)\n     * tmpvar_27) + 0.1938925) * tmpvar_27) - 0.3326756)\n   * tmpvar_27) + 0.9999793) * tmpvar_26);\n  tmpvar_27 = (tmpvar_27 + (float(\n    (abs((tmpvar_20.x / tmpvar_24)) > 1.0)\n  ) * (\n    (tmpvar_27 * -2.0)\n   + 1.570796)));\n  tmpvar_25 = (tmpvar_27 * sign((tmpvar_20.x / tmpvar_24)));\n  if ((abs(tmpvar_24) > (1e-08 * abs(tmpvar_20.x)))) {\n    if ((tmpvar_24 < 0.0)) {\n      if ((tmpvar_20.x >= 0.0)) {\n        tmpvar_25 += 3.141593;\n      } else {\n        tmpvar_25 = (tmpvar_25 - 3.141593);\n      };\n    };\n  } else {\n    tmpvar_25 = (sign(tmpvar_20.x) * 1.570796);\n  };\n  vec2 tmpvar_28;\n  tmpvar_28.x = tmpvar_21;\n  tmpvar_28.y = tmpvar_25;\n  polar_4 = (((tmpvar_28 * q29) * vec2(1.0, 2.0)) + vec2(0.0, 0.5));\n  vec3 tmpvar_29;\n  tmpvar_29.xy = polar_4;\n  tmpvar_29.z = (time * 0.15);\n  rc_2 = (texture (sampler_noisevol_hq, tmpvar_29).xyz + (texture (sampler_noisevol_hq, (2.0 * tmpvar_29)) * 0.5).xyz);\n  rc_2 = (rc_2 + (texture (sampler_noisevol_hq, (4.0 * tmpvar_29)) * 0.25).xyz);\n  rc_2 = (rc_2 + (texture (sampler_noisevol_hq, (8.0 * tmpvar_29)) * 0.125).xyz);\n  rc_2 = (rc_2 + (texture (sampler_noisevol_hq, (16.0 * tmpvar_29)) * 0.0625).xyz);\n  rc_2 = ((rc_2 * rc_2) * (rc_2 * 2.0));\n  rc_2 = (rc_2 * (q3 * 0.5));\n  vec4 tmpvar_30;\n  tmpvar_30 = texture (sampler_fc_main, (0.5 + (uv - 0.5)));\n  noise2_1 = (texture (sampler_noise_lq, ((\n    (uv_orig * texsize.xy)\n   * texsize_noise_lq.zw) + rand_frame.xy)).xyz + mix ((rc_2 * 2.0), vec3(2.0, 2.0, 2.0), vec3(rad)));\n  vec3 a_31;\n  a_31 = (1.0 - tmpvar_30.xyz);\n  ret_5 = (tmpvar_30.xyz + (vec3(0.3, 0.25, 0.2) * dot (\n    ((a_31.yzx * noise2_1.zxy) - (a_31.zxy * noise2_1.yzx))\n  , vec3(0.32, 0.49, 0.29))));\n  ret_5 = (ret_5 - (0.1 * rad));\n  ret_5 = (ret_5 + ((0.1 * texture (sampler_noisevol_hq, \n    ((p_3 + (time * 0.1)) * 0.7)\n  )) * float(tmpvar_11)).xyz);\n  vec4 tmpvar_32;\n  tmpvar_32.w = 1.0;\n  tmpvar_32.xyz = ret_5;\n  ret = tmpvar_32.xyz;\n }","comp":" shader_body { \n  vec3 ret_1;\n  ret_1 = (texture (sampler_main, uv).xyz - ((\n    (texture (sampler_blur1, uv).xyz * scale1)\n   + bias1) * 0.5));\n  ret_1 = (ret_1 * 2.0);\n  vec4 tmpvar_2;\n  tmpvar_2.w = 1.0;\n  tmpvar_2.xyz = ret_1;\n  ret = tmpvar_2.xyz;\n }"}