EEVEE-Next: Jittered Soft Shadows #119753

Closed
Miguel Pozo wants to merge 46 commits from pragma37/blender:pull-eevee-jittered-shoft-shadows into main

When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.
6 changed files with 9 additions and 9 deletions
Showing only changes of commit 3b9b3a0915 - Show all commits

View File

@ -170,7 +170,7 @@ class DATA_PT_EEVEE_light_shadow(DataButtonsPanel, Panel):
sub.prop(light, "use_shadow_jittering", text="")
sub = sub.row(align=True)
sub.active = light.use_shadow_jittering
sub.prop(light, "shadow_jitter_overblur", text="Overblur")
sub.prop(light, "shadow_jitter_overblur_percentage", text="Overblur")

View File

@ -3186,7 +3186,7 @@ void blo_do_versions_400(FileData *fd, Library * /*lib*/, Main *bmain)
if (!MAIN_VERSION_FILE_ATLEAST(bmain, 402, 20)) {
LISTBASE_FOREACH (Light *, light, &bmain->lights) {
light->shadow_jitter_overblur = 0.1f;
light->shadow_jitter_overblur_percentage = 10.0f;
}
}

View File

@ -238,7 +238,7 @@ void ShadowPunctual::sync(const ::Light *bl_light,
position_ = object_mat.location();
max_distance_ = max_distance;
softness_factor_ = bl_light->shadow_softness_factor;
jitter_overblur_ = bl_light->shadow_jitter_overblur;
jitter_overblur_ = bl_light->shadow_jitter_overblur_percentage / 100.0f;
if (is_area_light(light_type)) {
const bool is_irregular = ELEM(bl_light->area_shape, LA_AREA_RECT, LA_AREA_ELLIPSE);
@ -643,7 +643,7 @@ void ShadowDirectional::sync(const ::Light *bl_light,
min_resolution_ = min_resolution;
trace_distance_ = bl_light->shadow_trace_distance;
softness_factor_ = bl_light->shadow_softness_factor;
jitter_overblur_ = bl_light->shadow_jitter_overblur;
jitter_overblur_ = bl_light->shadow_jitter_overblur_percentage / 100.0f;
}
void ShadowDirectional::release_excess_tilemaps(const Camera &camera, float lod_bias)

View File

@ -46,7 +46,7 @@
.shadow_trace_distance = 10.0f, \
.shadow_filter_radius = 3.0f, \
.shadow_resolution_scale = 1.0f, \
.shadow_jitter_overblur = 0.1f, \
.shadow_jitter_overblur_percentage = 10.0f, \
.att_dist = 40.0f, \
.sun_angle = DEG2RADF(0.526f), \
.area_spread = DEG2RADF(180.0f), \

View File

@ -83,7 +83,7 @@ typedef struct Light {
float shadow_trace_distance;
float shadow_filter_radius;
float shadow_resolution_scale;
float shadow_jitter_overblur;
float shadow_jitter_overblur_percentage;
float _pad2;

View File

@ -331,9 +331,9 @@ static void rna_def_light_shadow(StructRNA *srna, bool sun)
RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
RNA_def_property_update(prop, 0, "rna_Light_update");
prop = RNA_def_property(srna, "shadow_jitter_overblur", PROP_FLOAT, PROP_FACTOR);
RNA_def_property_range(prop, 0.0f, 1.0);
RNA_def_property_ui_range(prop, 0.0f, 1.0f, 0.1f, 2);
prop = RNA_def_property(srna, "shadow_jitter_overblur_percentage", PROP_FLOAT, PROP_PERCENTAGE);
pragma37 marked this conversation as resolved Outdated

Should be PROP_PERCENTAGE.

Should be `PROP_PERCENTAGE`.

Done, but I can't say I like it.

Done, but I can't say I like it.
RNA_def_property_range(prop, 0.0f, 100.0f);
pragma37 marked this conversation as resolved Outdated

Nitpick: It might be copied from somewhere else, but 1.0 is missing a f.

Nitpick: It might be copied from somewhere else, but `1.0` is missing a `f`.
RNA_def_property_ui_range(prop, 0.0f, 20.0f, 10.0f, 0);
pragma37 marked this conversation as resolved Outdated

UI range (soft range) should be similar to the DOF overblur. 20% soft max sounds good.

UI range (soft range) should be similar to the DOF overblur. `20%` soft max sounds good.
RNA_def_property_ui_text(
prop,
"Shadow Jitter Overblur",