Narumium

Blog

ドット

最初は落雷のようなエフェクトを作っていた気がする。どうしてこうなった。

sin, cos の単純な組み合わせでこれくらいの模様が作れるのが面白い。

if(abs(cos(p.x))+abs(cos(p.y))<1.75)c=vec3(1); とかすると分かりやすいですが定期的に円を作るのは意外と簡単です。


Twigl.app で見る


整形コード

void main(){
	vec2 p=(gl_FragCoord.xy*2.-r)/r.y;
	vec3 c=vec3(0);
	float r1=abs(sin(p.y*50.))*.5,r2=abs(cos(p.x*50.))*.5;
	if(abs(p.x)+r1+r2<abs(cos(t)))c+=vec3(1,1,0);
	if(abs(p.y)+r2+r1<abs(sin(t)))c+=vec3(0,0,1);
	gl_FragColor=vec4(c,1);
}