Dicewars-Siedler/assets/shaders/terrainFragmentShader.glsl
2026-02-14 17:17:05 +01:00

29 lines
670 B
GLSL

#version 400 core
in vec2 pass_textureCoords;
in vec3 surfaceNormal;
in vec3 toLightVector;
out vec4 outColor;
uniform sampler2D textureSampler;
uniform vec3 lightColor;
uniform bool isHighlighted;
uniform vec3 highLightColor;
void main(void) {
vec3 unitNormal = normalize(surfaceNormal);
vec3 unitToLightDir = normalize(toLightVector);
float cosTheta = dot(unitNormal, unitToLightDir);
float brightness = max(cosTheta, 0.2);
vec3 diffuse = brightness * lightColor;
if(isHighlighted) {
outColor = vec4(highLightColor, 1.0);
} else {
outColor = vec4(diffuse, 1.0f) * texture(textureSampler, pass_textureCoords);
}
}