diff options
author | Juan Linietsky <reduzio@gmail.com> | 2020-01-25 07:18:55 -0300 |
---|---|---|
committer | Juan Linietsky <reduzio@gmail.com> | 2020-02-11 12:15:46 +0100 |
commit | bed8980ca50cb6a197f37e3decaff963d5cedce1 (patch) | |
tree | ebbc9630b6b6bca7d12efb2d8b777b9928ba2be5 /servers/visual_server.h | |
parent | ee1e89f8c0dc4659a2ed4b5afd5e7c1c596f7af1 (diff) |
Re-implemented screen space ambient occlusion
Diffstat (limited to 'servers/visual_server.h')
-rw-r--r-- | servers/visual_server.h | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/servers/visual_server.h b/servers/visual_server.h index dde8025eb2..13ca4f4d1a 100644 --- a/servers/visual_server.h +++ b/servers/visual_server.h @@ -664,6 +664,7 @@ public: VIEWPORT_DEBUG_DRAW_SHADOW_ATLAS, VIEWPORT_DEBUG_DRAW_DIRECTIONAL_SHADOW_ATLAS, VIEWPORT_DEBUG_DRAW_SCENE_LUMINANCE, + VIEWPORT_DEBUG_DRAW_SSAO, }; @@ -718,7 +719,7 @@ public: virtual void environment_set_bg_color(RID p_env, const Color &p_color) = 0; virtual void environment_set_bg_energy(RID p_env, float p_energy) = 0; virtual void environment_set_canvas_max_layer(RID p_env, int p_max_layer) = 0; - virtual void environment_set_ambient_light(RID p_env, const Color &p_color, EnvironmentAmbientSource p_ambient = ENV_AMBIENT_SOURCE_BG, float p_energy = 1.0, float p_sky_contribution = 0.0, EnvironmentReflectionSource p_reflection_source = ENV_REFLECTION_SOURCE_BG) = 0; + virtual void environment_set_ambient_light(RID p_env, const Color &p_color, EnvironmentAmbientSource p_ambient = ENV_AMBIENT_SOURCE_BG, float p_energy = 1.0, float p_sky_contribution = 0.0, EnvironmentReflectionSource p_reflection_source = ENV_REFLECTION_SOURCE_BG, const Color &p_ao_color = Color()) = 0; // FIXME: Disabled during Vulkan refactoring, should be ported. #if 0 virtual void environment_set_camera_feed_id(RID p_env, int p_camera_feed_id) = 0; @@ -745,12 +746,6 @@ public: virtual void environment_set_ssr(RID p_env, bool p_enable, int p_max_steps, float p_fade_in, float p_fade_out, float p_depth_tolerance, bool p_roughness) = 0; - enum EnvironmentSSAOQuality { - ENV_SSAO_QUALITY_LOW, - ENV_SSAO_QUALITY_MEDIUM, - ENV_SSAO_QUALITY_HIGH, - }; - enum EnvironmentSSAOBlur { ENV_SSAO_BLUR_DISABLED, ENV_SSAO_BLUR_1x1, @@ -758,7 +753,16 @@ public: ENV_SSAO_BLUR_3x3, }; - virtual void environment_set_ssao(RID p_env, bool p_enable, float p_radius, float p_intensity, float p_radius2, float p_intensity2, float p_bias, float p_light_affect, float p_ao_channel_affect, const Color &p_color, EnvironmentSSAOQuality p_quality, EnvironmentSSAOBlur p_blur, float p_bilateral_sharpness) = 0; + virtual void environment_set_ssao(RID p_env, bool p_enable, float p_radius, float p_intensity2, float p_bias, float p_light_affect, float p_ao_channel_affect, EnvironmentSSAOBlur p_blur, float p_bilateral_sharpness) = 0; + + enum EnvironmentSSAOQuality { + ENV_SSAO_QUALITY_LOW, + ENV_SSAO_QUALITY_MEDIUM, + ENV_SSAO_QUALITY_HIGH, + ENV_SSAO_QUALITY_ULTRA, + }; + + virtual void environment_set_ssao_quality(EnvironmentSSAOQuality p_quality, bool p_half_size) = 0; virtual void environment_set_fog(RID p_env, bool p_enable, const Color &p_color, const Color &p_sun_color, float p_sun_amount) = 0; virtual void environment_set_fog_depth(RID p_env, bool p_enable, float p_depth_begin, float p_depth_end, float p_depth_curve, bool p_transmit, float p_transmit_curve) = 0; |