Narumium

Blog

3色ハート

ハート を RGB 毎に別方向に動かした。

gl_FragCoordgl_FragColor のような変数名の重さがよくわかる。


Twigl.app で見る


整形コード

float h(vec2 p){
	return step(.0,p.x*p.x*p.y*p.y*p.y-pow(dot(p,p)-1.,3.));
}
void main(){
	vec2 p=3.*(gl_FragCoord.xy*2.-r)/r.y;
	float s=sin(t),a=pow(s,2.);
	gl_FragColor=vec4(
		vec3(
			h(p+vec2(s,-s)),
			h(p+vec2(-a)),
			h(p+vec2(a))
		),
	1);
}