From 29d1d011a3d2502adb0935a6048daf3edeae620d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?No=C3=A9?= <noe.artru@polytechnique.org> Date: Thu, 4 May 2023 14:07:56 +0200 Subject: [PATCH] Neige better --- .../shaders/mesh_multi_texture/mesh_multi_texture.frag.glsl | 2 +- projet-code/scenes_inf443/base/src/terrain.cpp | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/projet-code/scenes_inf443/base/shaders/mesh_multi_texture/mesh_multi_texture.frag.glsl b/projet-code/scenes_inf443/base/shaders/mesh_multi_texture/mesh_multi_texture.frag.glsl index df342a4..87a6a44 100644 --- a/projet-code/scenes_inf443/base/shaders/mesh_multi_texture/mesh_multi_texture.frag.glsl +++ b/projet-code/scenes_inf443/base/shaders/mesh_multi_texture/mesh_multi_texture.frag.glsl @@ -120,7 +120,7 @@ void main() vec4 color_image_texture_2 = texture(image_texture_2, uv_image); // Blend the crack texture with a white image along the y direction - float blending_parameter = fragment.position.z / 10; + float blending_parameter = fragment.position.z / 25; color_image_texture_2 = (1 - blending_parameter) * vec4(1, 1, 1, 1) + blending_parameter * color_image_texture_2; // Finally multiply the color of the two textures diff --git a/projet-code/scenes_inf443/base/src/terrain.cpp b/projet-code/scenes_inf443/base/src/terrain.cpp index d111b8f..13f56bf 100644 --- a/projet-code/scenes_inf443/base/src/terrain.cpp +++ b/projet-code/scenes_inf443/base/src/terrain.cpp @@ -43,7 +43,7 @@ mesh create_terrain_mesh(int N, float terrain_length) perlin_noise_parameters parameters; parameters.terrain_height = 6; parameters.octave = 6; - parameters.frequency_gain = 6; + parameters.frequency_gain = 17; parameters.persistency = 0.26; float perlin_noise; @@ -70,8 +70,8 @@ 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 = 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); + float b = std::min(1.0, exp((z + perlin_noise - 20) / 2) / exp(6)); + terrain.color[kv + N * ku] = std::max(0.0f,(1-b))*vec3(0,0.3f,0) + b * 1.5 * vec3(1, 1, 1); } } -- GitLab