見出し画像

GLSLの練習 KodeLifeにて (04)

引き続きグラデーションをアニメーションで作ってみる。
ただの自主練習です。
こちらがいつもお世話になっている参考記事
記事の後半部分を試してみます。

その前に(03)の記事で行っていたコードと映像を(復習がてらに)。

precision mediump float;
uniform float time;
uniform vec2 resolution;

void main(void){
   float r = abs(sin(time));
   float g = abs(cos(time));
   float b = (r + g) / 2.0;
   gl_FragColor = vec4(r, g, b, 1.0);
}

今考えると、これグラデーションというか点滅?ですね。表現を間違えてしまいました。
で、この点滅の速度を変えるには?
それは、 sin や cos の値  が、-1~1 の範囲を行ったきり来たりするので、そのスピードを速くしたり遅くしたりすればよいので、time(時間)に対して乗算or除算をする。
ここでは速くしてみましょう。つまり time*2.0 とか time*5.0 とか、掛け算を行う。

precision mediump float;
uniform float time;
uniform vec2 resolution;

void main(void){
   float r = abs(sin(time * 2.0));
   float g = abs(cos(time * 5.0));
   float b = (r + g) / 2.0;
   gl_FragColor = vec4(r, g, b, 1.0);
}

はい、終わりです。

この記事が気に入ったらサポートをしてみませんか?