Andrew Meadowsarchive remaining JS scriptsc0b446c10 years agoHistory
40 lines · 1.3 KB · Text
RawDownload
const vec3 BLUE = vec3(0.0, 0.0, 1.0);const vec3 YELLOW = vec3(1.0, 1.0, 0.0); uniform float iSpeed = 1.0;uniform vec3 iSize = vec3(1.0, 1.0, 1.0); vec3 getNoiseColor() {    float intensity = 0.0;    vec3 position = _position.xyz;    //position = normalize(position);    float time = iGlobalTime * iSpeed;    for (int i = 0; i < 4; ++i) {        float modifier = pow(2, i);        vec3 noisePosition = position * iSize * 10.0 * modifier;        float noise = snoise(vec4(noisePosition, time));        noise /= modifier;        intensity += noise;    }    intensity /= 2.0; intensity += 0.5;    return (intensity * BLUE) + (1.0 - intensity) * YELLOW;} // Produce a lit procedural surfacefloat getProceduralColorsLit(inout vec3 diffuse, inout vec3 specular, inout float shininess) {    vec3 noiseColor = getNoiseColor();    diffuse = noiseColor;    return 0.0;} // Produce an unlit procedural surface:  emulates old behaviorfloat getProceduralColorsUnlit(inout vec3 diffuse, inout vec3 specular, inout float shininess) {    vec3 noiseColor = getNoiseColor();    diffuse = vec3(1.0);    specular = noiseColor;    return 1.0;} float getProceduralColors(inout vec3 diffuse, inout vec3 specular, inout float shininess) {    return getProceduralColorsLit(diffuse, specular, shininess);}