EEVEE-Next: Jittered Soft Shadows #119753
|
@ -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")
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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), \
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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
|
||||
RNA_def_property_range(prop, 0.0f, 100.0f);
|
||||
pragma37 marked this conversation as resolved
Outdated
Clément Foucault
commented
Nitpick: It might be copied from somewhere else, but 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
Clément Foucault
commented
UI range (soft range) should be similar to the DOF overblur. 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",
|
||||
|
|
Loading…
Reference in New Issue
Should be
PROP_PERCENTAGE
.Done, but I can't say I like it.