r3ggeli
2012.06.24
|
|
0 0
711
|
#ifdef GL_ES precision highp float; #endif
uniform vec2 resolution; uniform float time; uniform vec4 mouse;
#define pi 3.1415926 float radian=pi/180.0;
void main(void) { vec2 mouse2=mouse.xy/resolution.xy; vec3 screen=vec3(gl_FragCoord.xy/resolution.xy,0.0);
float amp=0.0; #if 1 float hhossz=0.2+mouse2.y*7.0;//eger mozog fuggolegesen, hullamhossz valtozil float d=10.0; #else float hhossz=0.7; float d=10.0+mouse2.y*17.0;//eger mozog fuggolegesen, racstavolsag valtozil #endif float szog=(mouse2.x*180.0)*radian;//eger mozog vizszinesen vec3 xirany=vec3(sin(szog),cos(szog),0.0);//racs x vec3 yirany=vec3(xirany.y,-xirany.x,0.0);//y tengelye
float skala=20000.0;//screen meret 0-1, ehhez kell allitani mindent hhossz/=skala; d/=skala; float k=pi*2.0/hhossz;
for(int y=-10;y<11;y++) for(int x=-10;x<11;x++) { vec3 racs=vec3(0.5,0.5,0.0)+ xirany*float(x)*d+ yirany*float(y)*d*0.3; float tav=racs.y;//hullam y iranyban mozog!
tav+=length(screen-racs);//tavolsag a racstol a keppontig amp+=sin(tav*k); } amp*=4.0;//vilagosabb amp/=(20.0*20.0);
if(amp<0.0) gl_FragColor=vec4(-amp,0,0,1); else gl_FragColor=vec4(0,amp,0,1); }
//http://www.iquilezles.org/apps/shadertoy/
|
Előzmény: r3ggeli (710)
|
|