paint: expose bloom strength

This commit is contained in:
luboslenco
2026-07-11 20:05:11 +02:00
parent 0790b0f406
commit 748e6f87b4
7 changed files with 34 additions and 21 deletions
+2 -2
View File
@@ -72,7 +72,7 @@ void config_save() {
json_encode_f32("window_scale", g_config->window_scale);
json_encode_f32("rp_supersample", g_config->rp_supersample);
json_encode_bool("rp_ssao", g_config->rp_ssao);
json_encode_bool("rp_bloom", g_config->rp_bloom);
json_encode_f32("rp_bloom", g_config->rp_bloom);
json_encode_f32("rp_vignette", g_config->rp_vignette);
json_encode_f32("rp_grain", g_config->rp_grain);
json_encode_string("lut_path", g_config->lut_path);
@@ -178,7 +178,7 @@ void config_init() {
#endif
g_config->window_vsync = true;
g_config->window_frequency = sys_display_frequency();
g_config->rp_bloom = false;
g_config->rp_bloom = 0.0;
g_config->rp_vignette = 0.2;
g_config->rp_grain = 0.09;
g_config->lut_path = "";
+1 -1
View File
@@ -185,7 +185,7 @@ void render_path_base_commands(void (*draw_commands)(void)) {
}
void render_path_base_draw_bloom(char *source, char *target) {
if (g_config->rp_bloom == false) {
if (g_config->rp_bloom == 0.0) {
return;
}
+1 -1
View File
@@ -93,7 +93,7 @@ typedef struct config {
// Render path
f32 rp_supersample;
bool rp_ssao;
bool rp_bloom;
f32 rp_bloom;
f32 rp_vignette;
f32 rp_grain;
char *lut_path; // .cube
+3 -3
View File
@@ -663,10 +663,10 @@ void box_preferences_viewport_tab() {
}
ui_handle_t *h_bloom = ui_handle(__ID__);
h_bloom->b = g_config->rp_bloom;
g_config->rp_bloom = ui_check(h_bloom, tr("Bloom"), "");
h_bloom->f = g_config->rp_bloom;
g_config->rp_bloom = ui_slider(h_bloom, tr("Bloom"), 0.0, 1.0, true, 100.0, true, UI_ALIGN_RIGHT, true);
if (h_bloom->changed) {
config_apply();
g_context->ddirty = 2;
}
}
+2 -1
View File
@@ -53,7 +53,8 @@ f32 uniforms_ext_f32_link(object_t *object, material_data_t *mat, char *link) {
return render_path_base_bloom_sample_scale;
}
else if (string_equals(link, "_bloom_strength")) {
return g_context->viewport_mode == VIEWPORT_MODE_PATH_TRACE ? 0.2 : 0.02;
f32 base = g_context->viewport_mode == VIEWPORT_MODE_PATH_TRACE ? 0.2 : 0.02;
return base * g_config->rp_bloom;
}
else if (string_equals(link, "_brush_scale_x")) {
return 1 / (float)g_context->brush_scale_x;