#type vertex #version 410 core layout(location = 0) in vec3 v_position; layout(location = 1) in vec3 v_normal; out vec3 normal; uniform mat4 u_viewMatrix; uniform mat4 u_worldMatrix; void main() { vec3 positon = v_position / 256.0; gl_Position = u_viewMatrix * u_worldMatrix * vec4(positon,1.0); normal = v_normal; } #type fragment #version 410 core layout(location = 0) out vec4 fragColor; layout(location = 1) out int objectID; in vec3 normal; uniform int u_objectID; void main() { float light = clamp(dot(normal, normalize(vec3(1,7,3))), 0.1, 1.0); fragColor = vec4(light, light, light, 1.0); //fragColor = vec4(1, 1, 1, 1.0); objectID = u_objectID; }