Narumium

Blog

ドット2

パターン化の練習。

fract()floor() (= p-fract())で領域分割。

mod()で RGB の配置と動くタイミングをずらしている。

またサイズを0.5より少し大きくすることで、領域分割と合わさって密着しているような効果にした。


Twigl.app で見る


整形コード

precision highp float;
uniform vec2 resolution;
uniform float time;
void main(){
	vec2 r=resolution,p=5.*(gl_FragCoord.xy*2.-r)/r.y,f=fract(p),l=p-f;
	float m=mod(l.x+l.y,3.),s=step(length(vec2(.5)-f),.55*abs(cos(time+m/2.)));
	gl_FragColor.rgb=s*.1/vec3(m,(m-1.),(m-2.));
}