Hide last DirectionalLight shadow split distance property when using PSSM 3 Splits

The last shadow split property only has an effect when using PSSM 4 Splits.
This commit is contained in:
Hugo Locurcio 2024-11-22 19:55:54 +01:00 committed by Relintai
parent da47b57368
commit 55f20acfa5

View File

@ -366,12 +366,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;
}