#version 330 core in vec4 v_normal; in vec4 color; uniform int render_normals_bool; out vec4 FragColor; const float ambient_strenght = 0.3; const float diffuse_strenght = 0.7; void main() { vec3 lightDir = vec3(1.0, 0.3, 0.2); float diff = max(dot(normalize(vec3(v_normal.x, v_normal.y, v_normal.z)), normalize(lightDir)), 0) * diffuse_strenght; if (render_normals_bool == 1) { FragColor = vec4(v_normal); } else { FragColor = color * (1 / 256.0) * (ambient_strenght + diff); } }