1 /* File generated with Shader Minifier 1.1.5 2 * http://www.ctrl-alt-test.fr 3 */ 4 5 var test_frag = 6 "uniform mediump mat4 i;" + 7 "uniform mediump vec4 l;" + 8 "varying mediump vec4 c,n,r,a;" + 9 "void main()" + 10 "{" + 11 "mediump vec4 m=l-a,d=normalize(m),g=normalize(r),e=normalize(n);" + 12 "mediump float v=length(m),o=1.+.1*v+.01*v*v;" + 13 "gl_FragColor=i[3].bbbb*max(0.,1.-4.*min(c.b,min(c.g,c.r)))+max(i[0],(i[1]*max(0.,dot(d,e))+i[2]*pow(max(0.,dot(g,reflect(-d,e))),i[3].r))/o);" + 14 "}" 15 16 /* File generated with Shader Minifier 1.1.5 17 * http://www.ctrl-alt-test.fr 18 */ 19 20 var test_vert = 21 "uniform mat4 mv,nm,p;" + 22 "attribute vec4 g,v,N;" + 23 "varying vec4 c,n,r,a,m;" + 24 "void main()" + 25 "{" + 26 "m=v,a=mv*v,gl_Position=p*a,n=nm*N,c=g,r=-mv*v,r.a=0.;" + 27 "}" 28 29 /* File generated with Shader Minifier 1.1.5 30 * http://www.ctrl-alt-test.fr 31 */ 32 33 var noisy_frag = 34 "uniform mediump mat4 i;" + 35 "uniform mediump vec4 l;" + 36 "varying mediump vec4 c,n,r,a,m;" + 37 "mediump vec3 v(mediump vec3 v)" + 38 "{" + 39 "mediump mat3 f=mat3(3,17,13,19,5,23,11,29,7);" + 40 "mediump vec3 g=vec3(.25)+.25*sin(v*f);" + 41 "g-=vec3(.000976563);" + 42 "mediump vec3 t=fract(16.*g);" + 43 "return vec3(-1.)+2.*t;" + 44 "}" + 45 "mediump float t(mediump vec3 f)" + 46 "{" + 47 "mediump float g=64.;" + 48 "mediump vec3 d=mod(f,g),b=floor(d),t=b+vec3(0,0,1),e=b+vec3(0,1,0),o=b+vec3(0,1,1),p=b+vec3(1,0,0),u=b+vec3(1,0,1),s=b+vec3(1,1,0),z=b+vec3(1,1,1),h=d-b,x=d-t,F=d-e,C=d-o,y=d-p,w=d-u,Z=d-s,Y=d-z;" + 49 "mediump float X=dot(h,normalize(v(mod(b,g)))),W=dot(x,normalize(v(mod(t,g)))),V=dot(F,normalize(v(mod(e,g)))),U=dot(C,normalize(v(mod(o,g)))),T=dot(y,normalize(v(mod(p,g)))),S=dot(w,normalize(v(mod(u,g)))),R=dot(Z,normalize(v(mod(s,g)))),Q=dot(Y,normalize(v(mod(z,g))));" + 50 "mediump vec3 P=h;" + 51 "mediump float O=X+smoothstep(0.,1.,P.r)*(T-X),N=V+smoothstep(0.,1.,P.r)*(R-V),M=W+smoothstep(0.,1.,P.r)*(S-W),L=U+smoothstep(0.,1.,P.r)*(Q-U),K=O+smoothstep(0.,1.,P.g)*(N-O),J=M+smoothstep(0.,1.,P.g)*(L-M),I=K+smoothstep(0.,1.,P.b)*(J-K);" + 52 "return I;" + 53 "}" + 54 "mediump vec3 t(mediump vec3 v,mediump vec3 d,mediump vec3 f,mediump vec3 g,mediump vec3 b,mediump vec3 t,mediump vec3 e,mediump float P)" + 55 "{" + 56 "mediump vec3 X=d-v,o=normalize(X);" + 57 "mediump float O=length(X),p=1.+.1*O+.01*O*O;" + 58 "mediump vec3 u=t*max(0.,dot(o,g)),s=e*pow(max(0.,dot(f,reflect(-o,g))),P);" + 59 "return b/p*(u+s);" + 60 "}" + 61 "void main()" + 62 "{" + 63 "mediump vec3 v=normalize(r.rgb),g=normalize(n.rgb),b=m.rgb;" + 64 "mediump float f=.5+t(2.*b+vec3(10))+t(4.*b+vec3(.1))/2.+t(8.*b+vec3(.3))/4.+t(16.*b+vec3(.4))/6.;" + 65 "gl_FragColor=vec4(max(i[0].rgb*f,t(a.rgb,l.rgb,v,g,vec3(1),f*i[1].rgb,i[2].rgb,16.*(1.+f))),1);" + 66 "}" 67 68 /* File generated with Shader Minifier 1.1.5 69 * http://www.ctrl-alt-test.fr 70 */ 71 72 var noisz_frag = 73 "uniform mediump mat4 i;" + 74 "uniform mediump vec4 l;" + 75 "varying mediump vec4 c,n,r,a,m;" + 76 "mediump vec3 v(mediump vec3 v)" + 77 "{" + 78 "mediump mat3 f=mat3(3,17,11,7,5,13,0,0,0);" + 79 "mediump vec2 b=64.*sin(vec2(v*f)),d=sin(b),p=cos(b);" + 80 "return vec3(d.r*p.g,d.r*d.g,p.r);" + 81 "}" + 82 "mediump float f(mediump vec3 b)" + 83 "{" + 84 "mediump float f=64.,d[8];" + 85 "mediump vec3 p=mod(b,f),u[8],g[8],s=vec3(1,0,0);" + 86 "u[0]=floor(p);" + 87 "u[1]=u[0]+s.ggr;" + 88 "u[2]=u[0]+s.grg;" + 89 "u[3]=u[0]+s.grr;" + 90 "for(int e=0;e<4;e++)" + 91 "u[4+e]=u[e]+s.rgg;" + 92 "for(int e=0;e<8;e++)" + 93 "g[e]=p-u[e];" + 94 "for(int e=0;e<8;e++)" + 95 "u[e]=mod(u[e],f);" + 96 "u[0]=v(u[0]);" + 97 "u[1]=v(u[1]);" + 98 "u[2]=v(u[2]);" + 99 "u[3]=v(u[3]);" + 100 "u[4]=v(u[4]);" + 101 "u[5]=v(u[5]);" + 102 "u[6]=v(u[6]);" + 103 "u[7]=v(u[7]);" + 104 "for(int e=0;e<8;e++)" + 105 "d[e]=dot(g[e],u[e]);" + 106 "for(int e=0;e<4;e++)" + 107 "d[e]=d[e]+smoothstep(0.,1.,g[0].r)*(d[4+e]-d[e]);" + 108 "g[0]=g[0].gbr;" + 109 "for(int e=0;e<2;e++)" + 110 "d[e]=d[e]+smoothstep(0.,1.,g[0].r)*(d[2+e]-d[e]);" + 111 "g[0]=g[0].gbr;" + 112 "for(int e=0;e<2;e++)" + 113 "return d[e]=d[e]+smoothstep(0.,1.,g[0].r)*(d[1+e]-d[e]);" + 114 "}" + 115 "mediump vec3 f(mediump vec3 v,mediump vec3 f,mediump vec3 b,mediump vec3 e,mediump vec3 g,mediump vec3 d,mediump vec3 u,mediump float p)" + 116 "{" + 117 "mediump vec3 s=f-v,o=normalize(s);" + 118 "mediump float t=length(s),h=1.+.1*t+.01*t*t;" + 119 "mediump vec3 z=d*max(0.,dot(o,e)),x=u*pow(max(0.,dot(b,reflect(-o,e))),p);" + 120 "return g/h*(z+x);" + 121 "}" + 122 "void main()" + 123 "{" + 124 "mediump vec3 v=normalize(r.rgb),e=normalize(n.rgb),d=m.rgb;" + 125 "mediump float b=.5+f(2.*d+vec3(10))+f(4.*d+vec3(.1))/2.+f(8.*d+vec3(.3))/4.+f(16.*d+vec3(.4))/6.;" + 126 "gl_FragColor=vec4(max(i[0].rgb*b,f(a.rgb,l.rgb,v,e,vec3(1),b*i[1].rgb,i[2].rgb,16.*(1.+b))),1);" + 127 "}" 128 129