Specular fix

This commit is contained in:
2020-07-06 23:50:16 +02:00
parent 0a3f89c150
commit 71dc720a31
5 changed files with 8 additions and 3 deletions

View File

@@ -29,9 +29,10 @@ void main() {
vec3 diffuse_color = diffuse_strength * light_color;
float specular_value = 1.0;
vec3 view_direction = normalize(ubo.camera_position - position_wld);
vec3 view_direction = normalize(vec3(inverse(ubo.view) * vec4(0.0, 0.0, 0.0, 1.0)) - position_wld);
vec3 reflect_direction = reflect(-light_direction_cam_u, normal_cam_u);
float specular_strength = pow(max(dot(view_direction, reflect_direction), 0.0), 64);
float specular_strength = pow(max(dot(reflect_direction, view_direction), 0.0), 64);
vec3 specular_color = specular_value * specular_strength * light_color;
out_color = vec4(ambient_color + diffuse_color + specular_color, 1.0) * texture(tex, tex_coords);