uniform vec3 objectColor;\r
uniform vec3 lightColor;\r
uniform vec3 lightPos;\r
+uniform vec3 viewPos;\r
\r
void main()\r
{\r
float ambientStrength = 0.1;\r
vec3 ambient = ambientStrength * lightColor;\r
\r
- vec3 result = (ambient + diffuse) * objectColor;\r
+ float specularStrength = 0.5;\r
+ vec3 viewDir = normalize(viewPos - FragPos);\r
+ vec3 reflectDir = reflect(-lightDir, norm);\r
+ float spec = pow(max(dot(viewDir, reflectDir), 0.0), 32);\r
+ vec3 specular = specularStrength * spec * lightColor;\r
+\r
+ vec3 result = (ambient + diffuse + specular) * objectColor;\r
FragColor = vec4(result, 1.0f);\r
-}
\ No newline at end of file
+}\r