summaryrefslogtreecommitdiffstats
path: root/servers/rendering/renderer_rd/renderer_scene_render_rd.h
diff options
context:
space:
mode:
authorreduz <reduzio@gmail.com>2021-02-07 21:08:59 -0300
committerreduz <reduzio@gmail.com>2021-02-07 21:30:12 -0300
commit3e2281a3470dc83272643a316ba814e19bfef575 (patch)
treeb94f22d3a61314edfab9425fe830b33de4a91adf /servers/rendering/renderer_rd/renderer_scene_render_rd.h
parent57e2822a05c29db3980ad243c37a34acf6c4d14b (diff)
downloadredot-engine-3e2281a3470dc83272643a316ba814e19bfef575.tar.gz
Improve SDFGI indirect light feedback loop
-Use occlusion for feedback, further reduces light leaking. -More control on feedback, now its a slider.
Diffstat (limited to 'servers/rendering/renderer_rd/renderer_scene_render_rd.h')
-rw-r--r--servers/rendering/renderer_rd/renderer_scene_render_rd.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/servers/rendering/renderer_rd/renderer_scene_render_rd.h b/servers/rendering/renderer_rd/renderer_scene_render_rd.h
index cdcdb73132..ac567e9bdc 100644
--- a/servers/rendering/renderer_rd/renderer_scene_render_rd.h
+++ b/servers/rendering/renderer_rd/renderer_scene_render_rd.h
@@ -778,7 +778,7 @@ private:
RS::EnvironmentSDFGICascades sdfgi_cascades;
float sdfgi_min_cell_size = 0.2;
bool sdfgi_use_occlusion = false;
- bool sdfgi_use_multibounce = false;
+ float sdfgi_bounce_feedback = 0.0;
bool sdfgi_read_sky_light = false;
float sdfgi_energy = 1.0;
float sdfgi_normal_bias = 1.1;
@@ -1028,7 +1028,7 @@ private:
RID cascades_ubo;
bool uses_occlusion = false;
- bool uses_multibounce = false;
+ float bounce_feedback = 0.0;
bool reads_sky = false;
float energy = 1.0;
float normal_bias = 1.1;
@@ -1163,9 +1163,9 @@ private:
uint32_t process_increment;
int32_t probe_axis_size;
- uint32_t multibounce;
+ float bounce_feedback;
float y_mult;
- uint32_t pad;
+ uint32_t use_occlusion;
};
enum {
@@ -1721,7 +1721,7 @@ public:
bool environment_is_ssr_enabled(RID p_env) const;
bool environment_is_sdfgi_enabled(RID p_env) const;
- virtual void environment_set_sdfgi(RID p_env, bool p_enable, RS::EnvironmentSDFGICascades p_cascades, float p_min_cell_size, RS::EnvironmentSDFGIYScale p_y_scale, bool p_use_occlusion, bool p_use_multibounce, bool p_read_sky, float p_energy, float p_normal_bias, float p_probe_bias);
+ virtual void environment_set_sdfgi(RID p_env, bool p_enable, RS::EnvironmentSDFGICascades p_cascades, float p_min_cell_size, RS::EnvironmentSDFGIYScale p_y_scale, bool p_use_occlusion, float p_bounce_feedback, bool p_read_sky, float p_energy, float p_normal_bias, float p_probe_bias);
virtual void environment_set_sdfgi_ray_count(RS::EnvironmentSDFGIRayCount p_ray_count);
virtual void environment_set_sdfgi_frames_to_converge(RS::EnvironmentSDFGIFramesToConverge p_frames);
virtual void environment_set_sdfgi_frames_to_update_light(RS::EnvironmentSDFGIFramesToUpdateLight p_update);