uix-kit
Version:
A free web kits for fast web design and development, compatible with Bootstrap v5.
94 lines • 7.4 kB
JSON
{
"id": 3282,
"name": "Fork of Cosmic Shader",
"fragment": "#define TAU 6.28318530718\n#define MAX_ITER 5\n#define tau 6.2831853\n\nprecision highp float;\nprecision highp int;\nuniform vec2 Tiling_Caustic1477531952046_152_resolution;\nuniform vec3 backgroundColor;\nuniform vec3 Tiling_Caustic1477531952046_152_color;\nuniform float Tiling_Caustic1477531952046_152_speed;\nuniform float Tiling_Caustic1477531952046_152_brightness;\nuniform float time;\nuniform float contrast;\nuniform float distortion;\nuniform float Noise_Ripples1477531959288_166_speed;\nuniform vec3 Noise_Ripples1477531959288_166_color;\nuniform float Noise_Ripples1477531959288_166_brightness;\nuniform sampler2D noiseImage;\nuniform vec2 Noise_Ripples1477531959288_166_resolution;\nvarying vec2 Tiling_Caustic1477531952046_152_vUv;\nvarying vec2 Noise_Ripples1477531959288_166_vUv;\nmat2 makem2(in float theta) \n {\n float c = cos(theta);\n float s = sin(theta);\n return mat2(c, -s, s, c);\n }\nfloat noise(in vec2 x) \n {\n return texture2D(noiseImage, x * .01).x;\n }\nfloat fbm(in vec2 p) \n {\n float z = 2.;\n float rz = 0.;\n vec2 bp = p;\n for (float i = 1.;\n i < 6.0; i++) \n {\n rz += abs((noise(p) - 0.5) * 2.0) / z;\n z = z * 2.;\n p = p * 2.;\n }\n return rz;\n }\nfloat dualfbm(in vec2 p) \n {\n vec2 p2 = p * distortion;\n vec2 basis = vec2(fbm(p2 - time * Noise_Ripples1477531959288_166_speed * 1.6), fbm(p2 + time * Noise_Ripples1477531959288_166_speed * 1.7));\n basis = (basis - .5) * .2;\n p += basis;\n return fbm(p * makem2(time * Noise_Ripples1477531959288_166_speed * 0.2));\n }\nvec4 Tiling_Caustic1477531952046_152_main() \n {\n vec4 Tiling_Caustic1477531952046_152_gl_FragColor = vec4(0.0);\n vec2 uv = Tiling_Caustic1477531952046_152_vUv * Tiling_Caustic1477531952046_152_resolution;\n vec2 p = mod(uv * TAU, TAU) - 250.0;\n vec2 i = vec2(p);\n float c = 1.0;\n float inten = 0.005;\n for (int n = 0;\n n < MAX_ITER; n++) \n {\n float t = time * Tiling_Caustic1477531952046_152_speed * (1.0 - (3.5 / float(n + 1)));\n i = p + vec2(cos(t - i.x) + sin(t + i.y), sin(t - i.y) + cos(t + i.x));\n c += 1.0 / length(vec2(p.x / (sin(i.x + t) / inten), p.y / (cos(i.y + t) / inten)));\n }\n c /= float(MAX_ITER);\n c = 1.17 - pow(c, Tiling_Caustic1477531952046_152_brightness);\n vec3 rgb = vec3(pow(abs(c), 8.0));\n Tiling_Caustic1477531952046_152_gl_FragColor = vec4(rgb * Tiling_Caustic1477531952046_152_color + backgroundColor, 1.0);\n return Tiling_Caustic1477531952046_152_gl_FragColor *= 1.0;\n }\nvec4 Noise_Ripples1477531959288_166_main() \n {\n vec4 Noise_Ripples1477531959288_166_gl_FragColor = vec4(0.0);\n vec2 p = (Noise_Ripples1477531959288_166_vUv.xy - 0.5) * Noise_Ripples1477531959288_166_resolution;\n float rz = dualfbm(p);\n vec3 col = (Noise_Ripples1477531959288_166_color / rz) * Noise_Ripples1477531959288_166_brightness;\n col = ((col - 0.5) * max(contrast, 0.0)) + 0.5;\n Noise_Ripples1477531959288_166_gl_FragColor = vec4(col, 1.0);\n return Noise_Ripples1477531959288_166_gl_FragColor *= 1.0;\n }\nvoid main() \n {\n gl_FragColor = (Noise_Ripples1477531959288_166_main() + Tiling_Caustic1477531952046_152_main()); }\n",
"vertex": "precision highp float;\nprecision highp int;\nuniform mat4 modelMatrix;\nuniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\nuniform mat4 viewMatrix;\nuniform mat3 normalMatrix;\nuniform vec3 cameraPosition;\nuniform float time;\nattribute vec3 position;\nattribute vec3 normal;\nattribute vec2 uv;\nattribute vec2 uv2;\nvarying vec3 Tiling_Caustic1477531952046_152_vPosition;\nvarying vec3 Tiling_Caustic1477531952046_152_vNormal;\nvarying vec2 Tiling_Caustic1477531952046_152_vUv;\nvarying vec2 Tiling_Caustic1477531952046_152_vUv2;\nvarying vec3 Noise_Ripples1477531959288_166_vPosition;\nvarying vec3 Noise_Ripples1477531959288_166_vNormal;\nvarying vec2 Noise_Ripples1477531959288_166_vUv;\nvarying vec2 Noise_Ripples1477531959288_166_vUv2;\nvec4 Tiling_Caustic1477531952046_152_main() \n {\n vec4 Tiling_Caustic1477531952046_152_gl_Position = vec4(0.0);\n Tiling_Caustic1477531952046_152_vNormal = normal;\n Tiling_Caustic1477531952046_152_vUv = uv;\n Tiling_Caustic1477531952046_152_vUv2 = uv2;\n Tiling_Caustic1477531952046_152_vPosition = position;\n Tiling_Caustic1477531952046_152_gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n return Tiling_Caustic1477531952046_152_gl_Position *= 1.0;\n }\nvec4 Noise_Ripples1477531959288_166_main() \n {\n vec4 Noise_Ripples1477531959288_166_gl_Position = vec4(0.0);\n Noise_Ripples1477531959288_166_vNormal = normal;\n Noise_Ripples1477531959288_166_vUv = uv;\n Noise_Ripples1477531959288_166_vUv2 = uv2;\n Noise_Ripples1477531959288_166_vPosition = position;\n Noise_Ripples1477531959288_166_gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n return Noise_Ripples1477531959288_166_gl_Position *= 1.0;\n }\nvoid main() \n {\n gl_Position = Tiling_Caustic1477531952046_152_main() + Noise_Ripples1477531959288_166_main(); }\n",
"uniforms": {
"cameraPosition": {
"type": "v3",
"glslType": "vec3"
},
"time": {
"type": "f",
"glslType": "float"
},
"backgroundColor": {
"value": {
"r": 0.08235294117647059,
"g": 0.06274509803921569,
"b": 0.19607843137254902
},
"type": "c",
"glslType": "vec3"
},
"Tiling_Caustic1477531952046_152_resolution": {
"value": {
"x": 1,
"y": 1
},
"type": "v2",
"glslType": "vec2"
},
"Tiling_Caustic1477531952046_152_color": {
"value": {
"r": 0.4666666666666667,
"g": 0.9294117647058824,
"b": 0.9529411764705882
},
"type": "c",
"glslType": "vec3"
},
"Tiling_Caustic1477531952046_152_speed": {
"value": "0.5",
"type": "f",
"glslType": "float"
},
"Tiling_Caustic1477531952046_152_brightness": {
"value": "1.5",
"type": "f",
"glslType": "float"
},
"noiseImage": {
"value": null,
"type": "t",
"glslType": "sampler2D"
},
"distortion": {
"value": "1",
"type": "f",
"glslType": "float"
},
"contrast": {
"value": "1.4",
"type": "f",
"glslType": "float"
},
"Noise_Ripples1477531959288_166_speed": {
"value": "0.1",
"type": "f",
"glslType": "float"
},
"Noise_Ripples1477531959288_166_color": {
"value": {
"r": 0.6823529411764706,
"g": 0.7725490196078432,
"b": 0.6666666666666666
},
"type": "c",
"glslType": "vec3"
},
"Noise_Ripples1477531959288_166_brightness": {
"value": "0.1",
"type": "f",
"glslType": "float"
},
"Noise_Ripples1477531959288_166_resolution": {
"value": {
"x": "2",
"y": "2"
},
"type": "v2",
"glslType": "vec2"
}
}
}