GLSL fractal noise

Author: mucho

こんばんは。muchoです。
寒い日が続きますね。こんな日はおでんで一杯とか。
そんな夢のような枕詞を置いたところで
今日もはりきっていってみましょう。0時回ってます。

さて今回は前回の続きでnoiseです。
simplex noiseを何回もかけて複雑なnoiseにしようという試みです。
http://www.davidcornette.com/glsl/noise.html
上のサイトに参考画像があるので分かりやすいと思いますが、
ノイズの細かさを変更して何度も計算することで複雑なノイズになります。

[code lang="cpp"]

	float k = 200;
	float n1 = simplexNoise(vec3(gl_TexCoord[0].x*k*0.005,gl_TexCoord[0].y*k*0.005,time));
	float n2 = simplexNoise(vec3(gl_TexCoord[0].x*k*0.01,gl_TexCoord[0].y*k*0.01,time));
	float n3 = simplexNoise(vec3(gl_TexCoord[0].x*k*0.02,gl_TexCoord[0].y*k*0.02,time));
	float n4 = simplexNoise(vec3(gl_TexCoord[0].x*k*0.03,gl_TexCoord[0].y*k*0.03,time));
	float n5 = simplexNoise(vec3(gl_TexCoord[0].x*k*1.0,gl_TexCoord[0].y*k*1.0,time));
	float n6 = (n1 + n2 + n3 + n4 + n5)*0.2;


[/code]

こんな感じで5回かけてみました。
n1が一番ゆるくて、n5が一番こまかいです。

さすがに激重かなと思ったのですが、耐えれる速度で動きました。
前回と同じように雲模様的な動画にしてもよかったんですが、
より処理速度が分かるようにと思いカメラ映像に合成してみました。

結局パラメータを調整してノイズを飛ばし気味にしてしまったので、
フラクタル感がいまいちよく分からないですね・・・。