Skip to content

Commit

Permalink
Hide last DirectionalLight shadow split distance property when using …
Browse files Browse the repository at this point in the history
…PSSM 3 Splits

The last shadow split property only has an effect when using PSSM 4 Splits.
  • Loading branch information
Calinou committed Nov 22, 2024
1 parent f75abbb commit 0fed56e
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions scene/3d/light.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -365,12 +365,17 @@ bool DirectionalLight::is_blend_splits_enabled() const {

void DirectionalLight::_validate_property(PropertyInfo &property) const {
if (shadow_mode == SHADOW_ORTHOGONAL && (property.name == "directional_shadow_split_1" || property.name == "directional_shadow_blend_splits" || property.name == "directional_shadow_bias_split_scale")) {
// Split 2, split blending and bias split scale are only used with the PSSM 2 Splits and PSSM 4 Splits shadow modes.
// Splits 2/3/4, split blending and bias split scale are only used with the PSSM 2 Splits, PSSM 3 Splits and PSSM 4 Splits shadow modes.
property.usage = PROPERTY_USAGE_NOEDITOR;
}

if ((shadow_mode == SHADOW_ORTHOGONAL || shadow_mode == SHADOW_PARALLEL_2_SPLITS) && (property.name == "directional_shadow_split_2" || property.name == "directional_shadow_split_3")) {
// Splits 3 and 4 are only used with the PSSM 4 Splits shadow mode.
if ((shadow_mode == SHADOW_ORTHOGONAL || shadow_mode == SHADOW_PARALLEL_2_SPLITS) && (property.name == "directional_shadow_split_2")) {
// Splits 3/4 are only used with the PSSM 3 Splits and PSSM 4 Splits shadow modes.
property.usage = PROPERTY_USAGE_NOEDITOR;
}

if ((shadow_mode == SHADOW_ORTHOGONAL || shadow_mode == SHADOW_PARALLEL_2_SPLITS || shadow_mode == SHADOW_PARALLEL_3_SPLITS) && (property.name == "directional_shadow_split_3")) {
// Split 4 is only used with the PSSM 4 Splits shadow mode.
property.usage = PROPERTY_USAGE_NOEDITOR;
}

Expand Down

0 comments on commit 0fed56e

Please sign in to comment.