X-Git-Url: https://gitweb.ps.run/subsurface_scattering/blobdiff_plain/7afef4c11451100fa379bba1fe78122428d8d663..9d10826ccb5d1f8a3821d4d2f4242c401146d12d:/shaders/frag.glsl diff --git a/shaders/frag.glsl b/shaders/frag.glsl index a92699c..a70915a 100644 --- a/shaders/frag.glsl +++ b/shaders/frag.glsl @@ -8,6 +8,7 @@ out vec4 FragColor; uniform vec3 objectColor; uniform vec3 lightColor; uniform vec3 lightPos; +uniform vec3 viewPos; void main() { @@ -20,6 +21,12 @@ void main() float ambientStrength = 0.1; vec3 ambient = ambientStrength * lightColor; - vec3 result = (ambient + diffuse) * objectColor; + float specularStrength = 0.5; + vec3 viewDir = normalize(viewPos - FragPos); + vec3 reflectDir = reflect(-lightDir, norm); + float spec = pow(max(dot(viewDir, reflectDir), 0.0), 32); + vec3 specular = specularStrength * spec * lightColor; + + vec3 result = (ambient + diffuse + specular) * objectColor; FragColor = vec4(result, 1.0f); -} \ No newline at end of file +}