From e03792c2d5620ca07ac50717062df846927027c0 Mon Sep 17 00:00:00 2001 From: Patrick Schönberger Date: Wed, 10 Feb 2021 11:52:27 +0100 Subject: render shadowmap and irradiance --- shaders/frag_irradiance.glsl | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 shaders/frag_irradiance.glsl (limited to 'shaders/frag_irradiance.glsl') diff --git a/shaders/frag_irradiance.glsl b/shaders/frag_irradiance.glsl new file mode 100644 index 0000000..9e14ebe --- /dev/null +++ b/shaders/frag_irradiance.glsl @@ -0,0 +1,34 @@ +#version 330 core + +in vec3 FragPos; +in vec3 Normal; + +out vec4 FragColor; + +uniform sampler2D shadowmapTexture; + +uniform vec3 objectColor; +uniform vec3 lightColor; +uniform vec3 lightPos; +uniform vec3 viewPos; + +void main() +{ + vec3 norm = normalize(Normal); + vec3 lightDir = normalize(lightPos - FragPos); + + float diff = max(dot(norm, lightDir), 0.0); + vec3 diffuse = diff * lightColor; + + float ambientStrength = 0.1; + vec3 ambient = ambientStrength * lightColor; + + 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); +} -- cgit v1.2.3