22 lines
544 B
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;
|
|
} |