treesummaryrefslogcommitdiff
path: root/shaders/frag.glsl
diff options
context:
space:
mode:
authorPatrick Schönberger2021-02-02 23:18:31 +0100
committerPatrick Schönberger2021-02-02 23:18:31 +0100
commit9d10826ccb5d1f8a3821d4d2f4242c401146d12d (patch)
tree14e27c325e7da6b63a476bf541b076a7c7e60b58 /shaders/frag.glsl
parent7afef4c11451100fa379bba1fe78122428d8d663 (diff)
downloadsubsurface_scattering-9d10826ccb5d1f8a3821d4d2f4242c401146d12d.tar.gz
subsurface_scattering-9d10826ccb5d1f8a3821d4d2f4242c401146d12d.zip
render to framebufer
Diffstat (limited to 'shaders/frag.glsl')
-rw-r--r--shaders/frag.glsl11
1 files changed, 9 insertions, 2 deletions
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
+}