diff --git a/projet-code/scenes_inf443/base/src/terrain.cpp b/projet-code/scenes_inf443/base/src/terrain.cpp
index 39f60d14d3b9a8cb4b16de85eb18af40b89b7e59..d111b8f448872ea1182ff3b5fa76211afbcb0179 100644
--- a/projet-code/scenes_inf443/base/src/terrain.cpp
+++ b/projet-code/scenes_inf443/base/src/terrain.cpp
@@ -70,7 +70,7 @@ mesh create_terrain_mesh(int N, float terrain_length)
 
             //blending parameter for color
             perlin_noise = parameters.terrain_height * noise_perlin(vec2(3 * x / terrain_length, 3 * y / terrain_length), parameters.octave, parameters.persistency, parameters.frequency_gain);
-            float b = exp((z+perlin_noise-20)/2)/exp(6);
+            float b = std::min(2.0, exp((z+perlin_noise-20)/2)/exp(6));
             terrain.color[kv + N * ku] = (1-b)*vec3(0,0.3f,0) + b * vec3(1, 1, 1);
             
         }