記事とは関係ないけど、Fractal Noiseで遊んでみた動画
というのもHSV変換は絵がないので。
こんばんはこんばんは。muchoです。こんばんは。
以前 ActionScriptでもやったので、全然目新しくないですが、
GLSLでも変換する必要があったので作りました。
04 | vec3 HSVtoRGB(vec3 hsv) |
07 | float hue = mod(hsv.r, 360.0); |
08 | float s = max(0, min(1, hsv.g)); |
09 | float v = max(0, min(1, hsv.b)); |
11 | int h = int ( floor (hue / 60.0)); |
12 | float f = hue / 60.0 - float (h); |
13 | float p = v * (1.0 - s); |
14 | float q = v * (1.0 - f * s); |
15 | float r = v * (1.0 - (1.0 - f) * s); |
17 | if (h == 0) col = vec3(v, r, p); |
18 | else if (h == 1) col = vec3(q, v, p); |
19 | else if (h == 2) col = vec3(p, v, r); |
20 | else if (h == 3) col = vec3(p, q, v); |
21 | else if (h == 4) col = vec3(r, p, v); |
22 | else col = vec3(v, p, q); |
31 | gl_FragColor.rgb = HSVtoRGB(vec3(gl_TexCoord[0].x * 360.0, gl_TexCoord[0].y, 1.0)); |
こんなかんじで、カラーピッカーもどきなグラデが描画されます。
こういうシンプルなのは今後はWEBGLでブログにアップしたいです。
今後ってのがいつになるやら・・・