Merge pull request #93617 from jsjtxietian/protect-enum
Add safety check when setting several rendering effect quality
This commit is contained in:
commit
ba3bb44194
|
@ -3585,22 +3585,31 @@ RID RenderForwardClustered::_render_buffers_get_velocity_texture(Ref<RenderScene
|
|||
}
|
||||
|
||||
void RenderForwardClustered::environment_set_ssao_quality(RS::EnvironmentSSAOQuality p_quality, bool p_half_size, float p_adaptive_target, int p_blur_passes, float p_fadeout_from, float p_fadeout_to) {
|
||||
ERR_FAIL_NULL(ss_effects);
|
||||
ERR_FAIL_COND(p_quality < RS::EnvironmentSSAOQuality::ENV_SSAO_QUALITY_VERY_LOW || p_quality > RS::EnvironmentSSAOQuality::ENV_SSAO_QUALITY_ULTRA);
|
||||
ss_effects->ssao_set_quality(p_quality, p_half_size, p_adaptive_target, p_blur_passes, p_fadeout_from, p_fadeout_to);
|
||||
}
|
||||
|
||||
void RenderForwardClustered::environment_set_ssil_quality(RS::EnvironmentSSILQuality p_quality, bool p_half_size, float p_adaptive_target, int p_blur_passes, float p_fadeout_from, float p_fadeout_to) {
|
||||
ERR_FAIL_NULL(ss_effects);
|
||||
ERR_FAIL_COND(p_quality < RS::EnvironmentSSILQuality::ENV_SSIL_QUALITY_VERY_LOW || p_quality > RS::EnvironmentSSILQuality::ENV_SSIL_QUALITY_ULTRA);
|
||||
ss_effects->ssil_set_quality(p_quality, p_half_size, p_adaptive_target, p_blur_passes, p_fadeout_from, p_fadeout_to);
|
||||
}
|
||||
|
||||
void RenderForwardClustered::environment_set_ssr_roughness_quality(RS::EnvironmentSSRRoughnessQuality p_quality) {
|
||||
ERR_FAIL_NULL(ss_effects);
|
||||
ERR_FAIL_COND(p_quality < RS::EnvironmentSSRRoughnessQuality::ENV_SSR_ROUGHNESS_QUALITY_DISABLED || p_quality > RS::EnvironmentSSRRoughnessQuality::ENV_SSR_ROUGHNESS_QUALITY_HIGH);
|
||||
ss_effects->ssr_set_roughness_quality(p_quality);
|
||||
}
|
||||
|
||||
void RenderForwardClustered::sub_surface_scattering_set_quality(RS::SubSurfaceScatteringQuality p_quality) {
|
||||
ERR_FAIL_NULL(ss_effects);
|
||||
ERR_FAIL_COND(p_quality < RS::SubSurfaceScatteringQuality::SUB_SURFACE_SCATTERING_QUALITY_DISABLED || p_quality > RS::SubSurfaceScatteringQuality::SUB_SURFACE_SCATTERING_QUALITY_HIGH);
|
||||
ss_effects->sss_set_quality(p_quality);
|
||||
}
|
||||
|
||||
void RenderForwardClustered::sub_surface_scattering_set_scale(float p_scale, float p_depth_scale) {
|
||||
ERR_FAIL_NULL(ss_effects);
|
||||
ss_effects->sss_set_scale(p_scale, p_depth_scale);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue