From 5a91f6955ba58079254b41c75cc26118aa9931f3 Mon Sep 17 00:00:00 2001 From: luboslenco Date: Wed, 26 Aug 2026 12:35:49 +0200 Subject: [PATCH] paint: tweak envmap strength --- paint/shaders/deferred_light.kong | 2 +- paint/sources/project.c | 2 +- paint/sources/render/make_mesh.c | 2 +- paint/sources/render/render_envsphere.c | 2 +- paint/sources/render/render_pathsphere.c | 2 +- paint/sources/startup.c | 2 +- paint/sources/ui/ui_menubar.c | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/paint/shaders/deferred_light.kong b/paint/shaders/deferred_light.kong index e2d3d9b3..d3ab6227 100644 --- a/paint/shaders/deferred_light.kong +++ b/paint/shaders/deferred_light.kong @@ -287,7 +287,7 @@ fun deferred_light_frag(input: vert_out): float4 { envl.rgb = envl.rgb * albedo * ao; envl.rgb = envl.rgb + prefiltered_color * env_brdf_approx(f0, roughness, dotnv) * specular_occlusion(dotnv, ao, roughness); - envl.rgb = envl.rgb * constants.envmap_data.w * 0.5; + envl.rgb = envl.rgb * constants.envmap_data.w; var color: float4; color.rgb = envl.rgb + emission; diff --git a/paint/sources/project.c b/paint/sources/project.c index 2a6fa17a..2648b99b 100644 --- a/paint/sources/project.c +++ b/paint/sources/project.c @@ -277,7 +277,7 @@ void project_set_default_envmap() { scene_world->_->radiance = g_context->default_radiance; scene_world->_->radiance_mipmaps = g_context->default_radiance_mipmaps; scene_world->_->irradiance = g_context->default_irradiance; - scene_world->strength = 2.0; + scene_world->strength = 1.0; g_context->envmap_angle = 0.0; g_context->show_envmap_blur = false; g_project->envmap = NULL; diff --git a/paint/sources/render/make_mesh.c b/paint/sources/render/make_mesh.c index 6e8a763e..239af7c5 100644 --- a/paint/sources/render/make_mesh.c +++ b/paint/sources/render/make_mesh.c @@ -529,7 +529,7 @@ node_shader_context_t *make_mesh_run(material_t *data, i32 layer_pass) { node_shader_add_function(kong, str_env_brdf_approx); node_shader_write_frag(kong, "indirect = indirect * occlusion;"); node_shader_write_frag(kong, "indirect = indirect + prefiltered_color * env_brdf_approx(f0, roughness, dotnv) * 0.5;"); - node_shader_write_frag(kong, "indirect = indirect * constants.envmap_data.w * 0.5;"); + node_shader_write_frag(kong, "indirect = indirect * constants.envmap_data.w;"); node_shader_write_frag(kong, "indirect = max3(indirect, float3(0.0, 0.0, 0.0));"); node_shader_write_frag(kong, "output[1] = float4(indirect, 1.0);"); } diff --git a/paint/sources/render/render_envsphere.c b/paint/sources/render/render_envsphere.c index 7ef56cec..ae877199 100644 --- a/paint/sources/render/render_envsphere.c +++ b/paint/sources/render/render_envsphere.c @@ -79,7 +79,7 @@ static node_shader_context_t *make_envsphere_shader(char *name, f32 roughness, f node_shader_write_frag(kong, "var indirect: float3 = albedo * (sh_irradiance(float3(n.x * constants.envmap_data.z + n.y * constants.envmap_data.y, n.y * " "constants.envmap_data.z - n.x * constants.envmap_data.y, n.z)) / 3.14159265);"); node_shader_write_frag(kong, "indirect = indirect + prefiltered_color * env_brdf_approx(f0, roughness, dotnv);"); - node_shader_write_frag(kong, "indirect = indirect * constants.envmap_data.w * 0.5;"); + node_shader_write_frag(kong, "indirect = indirect * constants.envmap_data.w;"); node_shader_write_frag(kong, "indirect = max3(indirect, float3(0.0, 0.0, 0.0));"); // Filmic tone-mapping (matches compositor_pass) diff --git a/paint/sources/render/render_pathsphere.c b/paint/sources/render/render_pathsphere.c index 5fb2f897..f0487db0 100644 --- a/paint/sources/render/render_pathsphere.c +++ b/paint/sources/render/render_pathsphere.c @@ -78,7 +78,7 @@ static node_shader_context_t *make_pathsphere_shader(char *name) { node_shader_write_frag(kong, "var indirect: float3 = albedo * (sh_irradiance(float3(n.x * constants.envmap_data.z + n.y * constants.envmap_data.y, n.y * " "constants.envmap_data.z - n.x * constants.envmap_data.y, n.z)) / 3.14159265);"); node_shader_write_frag(kong, "indirect = indirect + prefiltered_color * env_brdf_approx(f0, roughness, dotnv);"); - node_shader_write_frag(kong, "indirect = indirect * constants.envmap_data.w * 0.5;"); + node_shader_write_frag(kong, "indirect = indirect * constants.envmap_data.w;"); node_shader_write_frag(kong, "indirect = max3(indirect, float3(0.0, 0.0, 0.0));"); // Filmic tone-mapping (matches compositor_pass) diff --git a/paint/sources/startup.c b/paint/sources/startup.c index 79d9ca38..e27e821f 100644 --- a/paint/sources/startup.c +++ b/paint/sources/startup.c @@ -2774,7 +2774,7 @@ scene_t *startup_get_scene(void) { world_data_t *wd = (world_data_t *)calloc(1, sizeof(world_data_t)); wd->name = "World"; wd->color = -15987700; - wd->strength = 2.0f; + wd->strength = 1.0f; wd->irradiance = "World_irradiance"; wd->radiance = "World_radiance.k"; wd->radiance_mipmaps = 5; diff --git a/paint/sources/ui/ui_menubar.c b/paint/sources/ui/ui_menubar.c index d31f61d7..3ee000a1 100644 --- a/paint/sources/ui/ui_menubar.c +++ b/paint/sources/ui/ui_menubar.c @@ -420,7 +420,7 @@ void ui_menubar_draw_category_items() { ui_handle_t *env_handle = ui_handle(__ID__); env_handle->f = p->strength; ui_menu_align(); - p->strength = ui_slider(env_handle, tr("Environment"), 0.0, 6.0, true, 100.0, true, UI_ALIGN_RIGHT, true); + p->strength = ui_slider(env_handle, tr("Environment"), 0.0, 4.0, true, 100.0, true, UI_ALIGN_RIGHT, true); if (env_handle->changed) { g_context->ddirty = 2; }