#version 330 core out vec4 color; in vec3 position_pass; in vec3 camera_position_pass; in vec3 normal_pass; in vec2 uv_pass; float min_brightness = 0.05; vec3 sun_position = vec3(1000.0, 1000.0, 1000.0); float shine_dampener = 10; float reflectivity = 5; uniform sampler2D sampler; void main() { color = texture(sampler, uv_pass); vec3 to_sun_vector = normalize(sun_position - position_pass); float intensity = clamp(dot(to_sun_vector, normal_pass), 0.25, 1.0); color.xyz *= intensity; }