37 lines
941 B
Plaintext
37 lines
941 B
Plaintext
#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;
|
|
|
|
//vec3 to_camera_vector = normalize(camera_position_pass - position_pass);
|
|
//vec3 reflection = reflect(-to_sun_vector, normal_pass);
|
|
|
|
//float specular_intensity = max(dot(to_camera_vector, reflection), 0.0);
|
|
|
|
//specular_intensity = pow(specular_intensity, shine_dampener);
|
|
|
|
//specular_intensity *= reflectivity;
|
|
|
|
//if (dot(normal_pass, to_camera_vector) >= 0.3)
|
|
//color.xyz += vec3(1.0, 1.0, 1.0) * specular_intensity;
|
|
} |