Specular fix
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user