From 15dfce421eff69e3e8d027d28a1abf2baf3031a4 Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Sat, 16 Mar 2019 20:50:39 +0100 Subject: [PATCH] Fix specular light component account for the component being negative, and fix a typo --- res/shaders/simple.frag | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/res/shaders/simple.frag b/res/shaders/simple.frag index 4127d9a..24302a9 100644 --- a/res/shaders/simple.frag +++ b/res/shaders/simple.frag @@ -14,7 +14,7 @@ uniform mat4 MVP; uniform mat4 MV; uniform mat4 MVnormal; -uniform float shininess; +uniform float shinyness; uniform bool isIlluminated; uniform bool isTextured; @@ -74,11 +74,14 @@ vec4 phong(vec4 basecolor) { ), 0.0, 1.25); float diffuse_i = dot(nnormal, L); - float specular_i = pow(dot(reflect(-L, nnormal), normalize(-vertex)), shininess); + float specular_i = dot(reflect(-L, nnormal), vec3(0.0)-normalize(vertex)); + specular_i = (specular_i>0) + ? pow(specular_i, shinyness) + : 0; emmissive_component += light[i].color_emissive; if (diffuse_i>0) diffuse_component += light[i].color_diffuse * diffuse_i * attenuation; - if (specular_i>0) specular_component += light[i].color_specular * specular_i * attenuation; + specular_component += light[i].color_specular * specular_i * attenuation; } return vec4(basecolor.rgb * (emmissive_component + diffuse_component) + specular_component, basecolor.a);