波形
単純な三角関数の表示を floor()
で棒グラフにした。
また各ブロックを3つに分けて RGB 表示を分けることで三角関数なのに慣れない動きをする。
しばらく動かしている(time が大きくなる)とみょんみょん動きます。
#つぶやきGLSL#define M(n) mod(l.x,3.)==n
— Narumium (@Nr_Narumium) November 4, 2020
void main(){
vec2 p=(gl_FragCoord.xy)/r,l=floor(1e2*p);p=l/1e2;
vec3 d;
float k=2.*p.x*t,s=abs(sin(k)),c=abs(cos(k));
if(c>p.y*1.5&&M(0.))d.r+=1.;
if(s>p.y*1.5&&M(1.))d.g+=1.;
if(s*c<p.y&&M(2.))d.b+=1.;
gl_FragColor.rgb=d;
} pic.twitter.com/fgjtHd3gE0
整形コード
#define M(n) mod(l.x,3.)==n
void main(){
vec2 p=(gl_FragCoord.xy)/r,l=floor(1e2*p);p=l/1e2;
vec3 d;
float k=2.*p.x*t,s=abs(sin(k)),c=abs(cos(k));
if(c>p.y*1.5&&M(0.))d.r+=1.;
if(s>p.y*1.5&&M(1.))d.g+=1.;
if(s*c<p.y&&M(2.))d.b+=1.;
gl_FragColor.rgb=d;
}