From 82ab3b292081c749d5e91d2b61eb4f6be4f0d830 Mon Sep 17 00:00:00 2001 From: Cat Flynn Date: Thu, 3 Aug 2023 10:39:46 +0200 Subject: [PATCH] feat: map diffuse lighting to gradient --- frag_lit.glsl | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/frag_lit.glsl b/frag_lit.glsl index 728ea2c..3b8ca6e 100644 --- a/frag_lit.glsl +++ b/frag_lit.glsl @@ -7,21 +7,22 @@ out vec4 FragColor; void main() { - vec3 objectColor = vec3(1.0, 0.5, 0.2); + vec3 objectColor = vec3(1.0, 1.0, 1.0); vec3 result; // Ambient lighting vec3 ambientLightColor = vec3(1.0, 1.0, 1.0); - float ambientStrength = 0.1; + float ambientStrength = 0.0; vec3 ambient = ambientStrength * ambientLightColor; // Directional lighting - vec3 directionalLightColor = vec3(1.0, 1.0, 1.0); + vec3 dirColorHi = vec3(.39, .40, .21) * 2.0; + vec3 dirColorLo = vec3(.45, .22, .33) * 2.0; vec3 lightPos = vec3(10.0, 7.0, -8.0); vec3 normal = normalize(Normal); vec3 lightDir = normalize(lightPos - FragPos); - float diff = max(dot(normal, lightDir), 0.0); - vec3 diffuse = diff * directionalLightColor; + float diff = dot(normal, lightDir) * .5 + .5; + vec3 diffuse = mix(dirColorLo, dirColorHi, diff); result = (ambient + diffuse) * objectColor;