diff options
Diffstat (limited to 'servers/rendering/rasterizer_rd/rasterizer_scene_rd.h')
-rw-r--r-- | servers/rendering/rasterizer_rd/rasterizer_scene_rd.h | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/servers/rendering/rasterizer_rd/rasterizer_scene_rd.h b/servers/rendering/rasterizer_rd/rasterizer_scene_rd.h index 65f2a1d157..8a14598250 100644 --- a/servers/rendering/rasterizer_rd/rasterizer_scene_rd.h +++ b/servers/rendering/rasterizer_rd/rasterizer_scene_rd.h @@ -736,11 +736,13 @@ private: /// SSAO bool ssao_enabled = false; - float ssao_rejection_radius = 2.5; - float ssao_intensity = 1.0; - int ssao_levels = 3; + float ssao_radius = 1; + float ssao_intensity = 1; + float ssao_bias = 0.01; float ssao_direct_light_affect = 0.0; float ssao_ao_channel_affect = 0.0; + float ssao_blur_edge_sharpness = 4.0; + RS::EnvironmentSSAOBlur ssao_blur = RS::ENV_SSAO_BLUR_3x3; /// SSR /// @@ -764,11 +766,7 @@ private: }; RS::EnvironmentSSAOQuality ssao_quality = RS::ENV_SSAO_QUALITY_MEDIUM; - bool ssao_full_samples = false; - float ssao_noise_tolerance = -3.0; - float ssao_blur_tolerance = -5.0; - float ssao_upsample_tolerance = -7.0; - + bool ssao_half_size = false; bool glow_bicubic_upscale = false; bool glow_high_quality = false; RS::EnvironmentSSRRoughnessQuality ssr_roughness_quality = RS::ENV_SSR_ROUGNESS_QUALITY_LOW; @@ -850,13 +848,10 @@ private: } luminance; struct SSAO { + RID depth; Vector<RID> depth_slices; - Vector<RID> depth_tiled_slices; - Vector<RID> filtered_ao_slices; - Vector<RID> ao_slices; - Vector<RID> high_quality_ao_slices; - RID linear_depth; - RID ao_full; + RID ao[2]; + RID ao_full; //when using half-size } ssao; struct SSR { @@ -1559,8 +1554,8 @@ public: virtual void environment_set_volumetric_fog_positional_shadow_shrink_size(int p_shrink_size); void environment_set_ssr(RID p_env, bool p_enable, int p_max_steps, float p_fade_int, float p_fade_out, float p_depth_tolerance); - void environment_set_ssao(RID p_env, bool p_enable, float p_rejection_radius, float p_intensity, int p_levels, float p_light_affect, float p_ao_channel_affect); - void environment_set_ssao_settings(RS::EnvironmentSSAOQuality p_quality, bool p_full_samples, float p_noise_tolerance, float p_blur_tolerance, float p_upsample_tolerance); + void environment_set_ssao(RID p_env, bool p_enable, float p_radius, float p_intensity, float p_bias, float p_light_affect, float p_ao_channel_affect, RS::EnvironmentSSAOBlur p_blur, float p_bilateral_sharpness); + void environment_set_ssao_quality(RS::EnvironmentSSAOQuality p_quality, bool p_half_size); bool environment_is_ssao_enabled(RID p_env) const; float environment_get_ssao_ao_affect(RID p_env) const; float environment_get_ssao_light_affect(RID p_env) const; |