#version 430 core uniform sampler2D textureSampler; uniform vec3 lightDir; uniform vec3 lightAmbient; in vec3 interpNormal; in vec2 interpTexCoord; void main() { vec2 modifiedTexCoord = vec2(interpTexCoord.x, 1.0 - interpTexCoord.y); vec3 color = texture2D(textureSampler, modifiedTexCoord).rgb; vec3 normal = normalize(interpNormal); float diffuse = max(dot(normal, -lightDir), 0.0); gl_FragColor = vec4(color * (diffuse + lightAmbient), 1.0); }