From 16e1b624d6191ffc876f9dcd15d305606f04ddc0 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Sun, 8 Aug 2021 14:15:25 -0400 Subject: graphics: phong: Use Blinn-Phong method for specular highlights. --- data/shaders/phong-frag.glsl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'data/shaders') diff --git a/data/shaders/phong-frag.glsl b/data/shaders/phong-frag.glsl index 9d8e40c..7cab3f8 100644 --- a/data/shaders/phong-frag.glsl +++ b/data/shaders/phong-frag.glsl @@ -174,7 +174,8 @@ void main() { float diffuseFactor = posDot(lightDir, normal); vec3 reflectDir = reflect(-lightDir, normal); vec3 diffuseColor = baseDiffuseColor * diffuseFactor; - float specularFactor = pow(posDot(viewDir, reflectDir), material.shininess); + vec3 halfVector = normalize(lightDir + viewDir); + float specularFactor = pow(posDot(halfVector, normal), material.shininess); vec3 specularColor = baseSpecularColor * specularFactor; color += (diffuseColor + specularColor) * radiance; } -- cgit v1.2.3