computer-grafik-1/u07-light/fragmentShader.glsl

22 lines
544 B
GLSL

#version 330 core
in vec3 normal;
in vec3 fragmentPosition;
vec4 ambientLight = vec4(0.1, 0.1, 0.1, 1.0);
vec4 surfaceColor = vec4(0.7, 0.7, 0.9, 1.0);
vec3 lightPosition = vec3(3.0, 3.0, 3.0);
vec4 lightColor = vec4(1.0, 1.0, 1.0, 1.0);
float emissionStrength = 0.1;
void main() {
vec3 norm = normalize(normal);
vec3 lightDir = normalize(lightPosition - fragmentPosition);
float diff = max(dot(norm, lightDir), 0.0);
gl_FragColor = surfaceColor * emissionStrength + ambientLight * surfaceColor + diff * lightColor * surfaceColor;
}