summaryrefslogtreecommitdiff
path: root/servers/rendering_server.h
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2020-08-13 11:48:21 -0300
committerGitHub <noreply@github.com>2020-08-13 11:48:21 -0300
commitd84b28b94f26db0ea115baf92662b09e6d6db67b (patch)
treea5a9d4a388b9913d098d058f06547de51e8dfeeb /servers/rendering_server.h
parent64d859df0c6ba51ea4c4841e0a1eb287c5079eae (diff)
parent079ca220e14669ef7c31c399985cd2c733af15bd (diff)
Merge pull request #41213 from reduz/volumetric-fog
Added volumetric fog effect.
Diffstat (limited to 'servers/rendering_server.h')
-rw-r--r--servers/rendering_server.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/servers/rendering_server.h b/servers/rendering_server.h
index 109e9e53c5..57af53f0c0 100644
--- a/servers/rendering_server.h
+++ b/servers/rendering_server.h
@@ -390,6 +390,7 @@ public:
LIGHT_PARAM_SHADOW_BIAS,
LIGHT_PARAM_SHADOW_PANCAKE_SIZE,
LIGHT_PARAM_SHADOW_BLUR,
+ LIGHT_PARAM_SHADOW_VOLUMETRIC_FOG_FADE,
LIGHT_PARAM_TRANSMITTANCE_BIAS,
LIGHT_PARAM_MAX
};
@@ -865,6 +866,19 @@ public:
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;
virtual void environment_set_fog_height(RID p_env, bool p_enable, float p_min_height, float p_max_height, float p_height_curve) = 0;
+ enum EnvVolumetricFogShadowFilter {
+ ENV_VOLUMETRIC_FOG_SHADOW_FILTER_DISABLED,
+ ENV_VOLUMETRIC_FOG_SHADOW_FILTER_LOW,
+ ENV_VOLUMETRIC_FOG_SHADOW_FILTER_MEDIUM,
+ ENV_VOLUMETRIC_FOG_SHADOW_FILTER_HIGH,
+ };
+
+ virtual void environment_set_volumetric_fog(RID p_env, bool p_enable, float p_density, const Color &p_light, float p_light_energy, float p_lenght, float p_detail_spread, float p_gi_inject, EnvVolumetricFogShadowFilter p_shadow_filter) = 0;
+ virtual void environment_set_volumetric_fog_volume_size(int p_size, int p_depth) = 0;
+ virtual void environment_set_volumetric_fog_filter_active(bool p_enable) = 0;
+ virtual void environment_set_volumetric_fog_directional_shadow_shrink_size(int p_shrink_size) = 0;
+ virtual void environment_set_volumetric_fog_positional_shadow_shrink_size(int p_shrink_size) = 0;
+
virtual Ref<Image> environment_bake_panorama(RID p_env, bool p_bake_irradiance, const Size2i &p_size) = 0;
virtual void screen_space_roughness_limiter_set_active(bool p_enable, float p_amount, float p_limit) = 0;