#version 150 in vec3 normal; in vec3 position; in vec2 texCoord; uniform vec3 finalColor; out vec4 fragColor; void main() { vec3 n = normalize(normal); vec3 s = normalize(vec3(1.0, 0.0, 1.0) - position); vec3 v = normalize(-position); float diffuse = max(dot(s, n), 0.0); if (diffuse > 0.95) diffuse = 1.0; else if (diffuse > 0.5) diffuse = 0.5; else if (diffuse > 0.25) diffuse = 0.25; else diffuse = 0.1; fragColor = vec4(diffuse * finalColor, 1.0); }