audio-vis/shaders/wave.frag
2020-08-07 19:31:30 +02:00

23 lines
494 B
GLSL

#version 300 es
precision mediump float;
in vec4 pos;
in vec3 v_surfaceToLight;
uniform vec3 u_baseColor;
uniform vec3 u_maxColor;
uniform float u_light;
out vec4 outColor;
void main() {
vec4 fragNormal = normalize(pos);
float light = max(dot(fragNormal.xyz, normalize(v_surfaceToLight).xyz), u_light);
float y = pos.z;
if (y < 0.0) {
y = y * -1.0;
}
vec3 color = mix(u_baseColor, u_maxColor, y);
outColor = vec4(color, 1.0);
outColor.rgb *= light;
}