not good but great

プログラミング、アート、映画・本の感想について書きます。

fract()は実数の少数部を求める組み込み関数

結構サンプル載っている。
http://www.demoscene.jp/?p=1147

f:id:naoyashiga:20150201193114p:plain

#ifdef GL_ES
precision mediump float;
#endif

uniform float time;
uniform vec2 mouse;
uniform vec2 resolution;

float lengthN(vec2 v, float n){
	vec2 tmp = pow(abs(v), vec2(n));
	
	return pow(tmp.x + tmp.y, 1.0 / n);
}

float plazma(vec2 p){
	vec2 p2 = mod(p * 8.0, 4.0) - 2.0;
	return sin(lengthN(p2, 4.0) * 16.0 + time);
}

void main( void ) {

	vec2 pos = (gl_FragCoord.xy*2.0 -resolution) / resolution.y;
	gl_FragColor = vec4(plazma(pos));
}

乱数を作成

fract()は実数の少数部を求める組み込み関数らしい。