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