Back to shaders

Shader test bench

Fragment

zero-x7444ff-shader-art pattern glsl runnable fragment MIT
Source
runnable fragment

Complete GLSL fragment shader. Stronghold runs it directly when the browser can compile it.

Code

precision mediump float;
uniform float u_time;
varying vec2 v_texcoord;

#include "./3DPerlinNoise.glsl";

void main()
{
    // Adding patterns
    float pattern = sin(0.01);
    pattern -= abs(cnoise(vec3(v_texcoord * 5.0, u_time * 0.2)) * 0.15);

    // Colors
    vec3 color1 = vec3(1.0, 0.0, 0.35);
    vec3 color2 = vec3(0.01, 0.0, 0.0);

    float mixStrength = pattern * 2.0 + 0.25;
    vec3 mixColor = mix(color2, color1, mixStrength);

    if (mixStrength > 0.24) {
        mixColor += 1.0;
    }

    gl_FragColor = vec4(pow(mixColor, vec3(1.0 / 2.2)), 1.0);
}