summaryrefslogtreecommitdiff
path: root/scene/resources/environment.h
diff options
context:
space:
mode:
Diffstat (limited to 'scene/resources/environment.h')
-rw-r--r--scene/resources/environment.h67
1 files changed, 67 insertions, 0 deletions
diff --git a/scene/resources/environment.h b/scene/resources/environment.h
index b8caa59aab..83a5fe939c 100644
--- a/scene/resources/environment.h
+++ b/scene/resources/environment.h
@@ -86,6 +86,18 @@ public:
SSAO_BLUR_3x3
};
+ enum SDFGICascades {
+ SDFGI_CASCADES_4,
+ SDFGI_CASCADES_6,
+ SDFGI_CASCADES_8,
+ };
+
+ enum SDFGIYScale {
+ SDFGI_Y_SCALE_DISABLED,
+ SDFGI_Y_SCALE_75_PERCENT,
+ SDFGI_Y_SCALE_50_PERCENT,
+ };
+
private:
RID environment;
@@ -163,6 +175,20 @@ private:
float fog_height_max;
float fog_height_curve;
+ bool sdfgi_enabled;
+ SDFGICascades sdfgi_cascades;
+ float sdfgi_min_cell_size;
+ bool sdfgi_use_occlusion;
+ bool sdfgi_use_multibounce;
+ bool sdfgi_read_sky_light;
+ bool sdfgi_enhance_ssr;
+ float sdfgi_energy;
+ float sdfgi_normal_bias;
+ float sdfgi_probe_bias;
+ SDFGIYScale sdfgi_y_scale;
+
+ void _update_sdfgi();
+
protected:
static void _bind_methods();
virtual void _validate_property(PropertyInfo &property) const;
@@ -354,6 +380,45 @@ public:
void set_fog_height_curve(float p_distance);
float get_fog_height_curve() const;
+ void set_sdfgi_enabled(bool p_enabled);
+ bool is_sdfgi_enabled() const;
+
+ void set_sdfgi_cascades(SDFGICascades p_cascades);
+ SDFGICascades get_sdfgi_cascades() const;
+
+ void set_sdfgi_min_cell_size(float p_size);
+ float get_sdfgi_min_cell_size() const;
+
+ void set_sdfgi_cascade0_distance(float p_size);
+ float get_sdfgi_cascade0_distance() const;
+
+ void set_sdfgi_max_distance(float p_size);
+ float get_sdfgi_max_distance() const;
+
+ void set_sdfgi_use_occlusion(bool p_enable);
+ bool is_sdfgi_using_occlusion() const;
+
+ void set_sdfgi_use_multi_bounce(bool p_enable);
+ bool is_sdfgi_using_multi_bounce() const;
+
+ void set_sdfgi_use_enhance_ssr(bool p_enable);
+ bool is_sdfgi_using_enhance_ssr() const;
+
+ void set_sdfgi_read_sky_light(bool p_enable);
+ bool is_sdfgi_reading_sky_light() const;
+
+ void set_sdfgi_energy(float p_energy);
+ float get_sdfgi_energy() const;
+
+ void set_sdfgi_normal_bias(float p_bias);
+ float get_sdfgi_normal_bias() const;
+
+ void set_sdfgi_probe_bias(float p_bias);
+ float get_sdfgi_probe_bias() const;
+
+ void set_sdfgi_y_scale(SDFGIYScale p_y_scale);
+ SDFGIYScale get_sdfgi_y_scale() const;
+
virtual RID get_rid() const;
Environment();
@@ -366,6 +431,8 @@ VARIANT_ENUM_CAST(Environment::ReflectionSource)
VARIANT_ENUM_CAST(Environment::ToneMapper)
VARIANT_ENUM_CAST(Environment::GlowBlendMode)
VARIANT_ENUM_CAST(Environment::SSAOBlur)
+VARIANT_ENUM_CAST(Environment::SDFGICascades)
+VARIANT_ENUM_CAST(Environment::SDFGIYScale)
class CameraEffects : public Resource {
GDCLASS(CameraEffects, Resource);