case, laboratori e luoghi di culto per le Creature di Silicio; le nere costole e gli archi scolpiti di questi labirinti rivelano l'oscurità delle menti dei loro creatori. I Labirinti di Silicio contengono corridoi bio-ingegnerizzati appiccicosi, macchinari organici e porte che assomigliano a reti o orifizi pieni di denti. Basta dire, che nessuno, a parte le Creature di Silicio, si avventura deliberatamente in uno di questi Labirinti, e gli R-Human che ne vengono catturati all'interno raramente riescono a tornare indietro. I Guerrieri di Silicio hanno maggiore protezione contro gli attacchi di hacking da parte degli intrusi e hanno a disposizione nanoparticelle ambientali rigeneranti progettate per ripristinare rapidamente le loro ferite. Questi covi sono generalmente ben nascosti dall'esterno e sono pieni di Folletti di Silicio e Biocritter.
#ifdef GL_ES
precision mediump float;
#endif
void mainImage(out vec4 fragColor, in vec2 fragCoord) {
vec2 uv=(fragCoord.xy*2.-iResolution.xy)/min(iResolution.x,iResolution.y);
vec2 huv=uv;
float lines=197.0;
uv.x=floor(uv.x*lines)/lines;
uv.y=floor(uv.y*lines)/lines; //192 lines vec3 finalColor=vec3(1);
vec3 finalColor=vec3(0);
float y=uv.y;
float x=uv.x+floor(iTime*lines/9.)/lines;
float w1=smoothstep(0.81,0.85,cos(x*20.)*1.2+cos(x*2.)*1.0+cos(y*2.+.1));
w1+=smoothstep(0.81,0.85,cos(x*20.+3.)*1.2+cos(x*2.+3.)*1.0+cos(y*2.-1.)-1.);
x=uv.x+floor(iTime*lines/8.)/lines;
float w2=smoothstep(0.81,0.85,cos(x*20.)*1.1+cos(x*20.)*0.7+cos(y*5.+.1)*1.1);
w2+=smoothstep(0.81,0.85,cos(x*20.+3.)*0.7+cos(x*20.+3.)*1.0+cos(y*4.-1.)*1.0-1.);
x=uv.x+floor(iTime*lines/10.)/lines;
float w3=smoothstep(0.81,0.85,cos(x*20.)*1.1+cos(x*32.)*0.7+cos(y*6.+.1)*1.1);
w3+=smoothstep(0.81,0.85,cos(x*20.+3.)*0.7+cos(x*32.+3.)*1.0+cos(y*5.-1.)*1.0-1.);
float g1=0.9; // erbacce
float l1=0.9; // fronde degli alberi
float g2=0.9; // erbacce medio
float l2=0.9; //fronde medio
float g3=0.9; // erbacce sfondo
float l3=0.9; //fronde sfondo
vec2 pos=vec2(cos(iTime*0.41),sin(iTime*0.51)*.3);
pos=floor(pos*lines)/lines;
float s1=smoothstep(0.04,0.0,length(pos+uv));
pos=vec2(cos(1.+iTime*0.31),sin(iTime*0.52)*.3);
pos=floor(pos*lines)/lines;
float s2=smoothstep(0.04,0.0,length(pos-uv));
float c;
// elimina tutto
c=w3*g3*l3;finalColor=clamp(vec3(0.7,0.8,1.0)+c,0.0,1.);
// alberi intermedi
c=w2*g2*l2;finalColor=min(clamp(vec3(0.4,0.5,0.7)+c,0.0,1.0),finalColor);
// Lucciole
c=s1;finalColor+=c*vec3(0.0,0.,1.0);
c=s2;finalColor+=c*vec3(0.0,0.,0.);
c=s1;finalColor+=2.*c*c*vec3(1)*abs(sin(iTime*50.));
c=s2;finalColor+=c*c*vec3(1)*abs(cos(iTime*50.));
c=w1*g1*l1;finalColor*=vec3(0.7,0.0,0.0)*c;
fragColor = vec4(finalColor.gbr,1);
}