Merge pull request #110671 from allenwp/environment-glow-consistent

Blend glow before tonemapping and change default to screen.
This commit is contained in:
Clay John
2025-10-14 21:29:43 -07:00
committed by GitHub
11 changed files with 150 additions and 80 deletions

View File

@ -1247,7 +1247,7 @@ void Environment::_bind_methods() {
ADD_GROUP("Tonemap", "tonemap_");
ADD_PROPERTY(PropertyInfo(Variant::INT, "tonemap_mode", PROPERTY_HINT_ENUM, "Linear,Reinhard,Filmic,ACES,AgX"), "set_tonemapper", "get_tonemapper");
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "tonemap_exposure", PROPERTY_HINT_RANGE, "0,16,0.01"), "set_tonemap_exposure", "get_tonemap_exposure");
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "tonemap_white", PROPERTY_HINT_RANGE, "0,16,0.01"), "set_tonemap_white", "get_tonemap_white");
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "tonemap_white", PROPERTY_HINT_RANGE, "1,16,0.01,or_greater"), "set_tonemap_white", "get_tonemap_white");
// SSR
@ -1405,7 +1405,7 @@ void Environment::_bind_methods() {
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "glow_strength", PROPERTY_HINT_RANGE, "0.0,2.0,0.01"), "set_glow_strength", "get_glow_strength");
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "glow_mix", PROPERTY_HINT_RANGE, "0.0,1.0,0.001"), "set_glow_mix", "get_glow_mix");
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "glow_bloom", PROPERTY_HINT_RANGE, "0.0,1.0,0.01"), "set_glow_bloom", "get_glow_bloom");
ADD_PROPERTY(PropertyInfo(Variant::INT, "glow_blend_mode", PROPERTY_HINT_ENUM, "Additive,Screen,Softlight,Replace,Mix"), "set_glow_blend_mode", "get_glow_blend_mode");
ADD_PROPERTY(PropertyInfo(Variant::INT, "glow_blend_mode", PROPERTY_HINT_ENUM, "Additive,Screen,Soft Light,Replace,Mix"), "set_glow_blend_mode", "get_glow_blend_mode");
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "glow_hdr_threshold", PROPERTY_HINT_RANGE, "0.0,4.0,0.01"), "set_glow_hdr_bleed_threshold", "get_glow_hdr_bleed_threshold");
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "glow_hdr_scale", PROPERTY_HINT_RANGE, "0.0,4.0,0.01"), "set_glow_hdr_bleed_scale", "get_glow_hdr_bleed_scale");
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "glow_hdr_luminance_cap", PROPERTY_HINT_RANGE, "0.0,256.0,0.01"), "set_glow_hdr_luminance_cap", "get_glow_hdr_luminance_cap");
@ -1572,11 +1572,11 @@ Environment::Environment() {
set_camera_feed_id(bg_camera_feed_id);
glow_levels.resize(7);
glow_levels.write[0] = 0.0;
glow_levels.write[1] = 0.0;
glow_levels.write[2] = 1.0;
glow_levels.write[3] = 0.0;
glow_levels.write[4] = 1.0;
glow_levels.write[0] = 1.0;
glow_levels.write[1] = 0.8;
glow_levels.write[2] = 0.4;
glow_levels.write[3] = 0.1;
glow_levels.write[4] = 0.0;
glow_levels.write[5] = 0.0;
glow_levels.write[6] = 0.0;

View File

@ -163,11 +163,11 @@ private:
bool glow_enabled = false;
Vector<float> glow_levels;
bool glow_normalize_levels = false;
float glow_intensity = 0.8;
float glow_intensity = 0.3;
float glow_strength = 1.0;
float glow_mix = 0.05;
float glow_bloom = 0.0;
GlowBlendMode glow_blend_mode = GLOW_BLEND_MODE_SOFTLIGHT;
GlowBlendMode glow_blend_mode = GLOW_BLEND_MODE_SCREEN;
float glow_hdr_bleed_threshold = 1.0;
float glow_hdr_bleed_scale = 2.0;
float glow_hdr_luminance_cap = 12.0;