#version 330 in vec2 fragTexCoord; // texture coordinate in vec3 fragNormal; // normal direction uniform sampler2D texture0; uniform vec4 colDiffuse; out vec4 finalColor; uniform vec3 lightDirection; // direction of light uniform vec4 ambient; void main() { vec4 texelColor = texture(texture0, fragTexCoord); vec3 light_dot = vec3(pow(clamp(dot(fragNormal, lightDirection), 0.0, 1.0), 2.0)); finalColor = texelColor * colDiffuse * vec4(light_dot, 1.0); finalColor += texelColor * (ambient/10.0) * colDiffuse; finalColor = pow(finalColor, vec4(vec3(0.6), 1.0)); }