summaryrefslogtreecommitdiff
path: root/src/client/clientmap.h
diff options
context:
space:
mode:
authorx2048 <codeforsmile@gmail.com>2021-07-25 12:36:23 +0200
committerGitHub <noreply@github.com>2021-07-25 12:36:23 +0200
commitbf3acbf388406f736286d990adb5f35a9023c390 (patch)
tree9fdff755e37253580c222ff768802a6b0170be10 /src/client/clientmap.h
parentff2d2a6e93d75d24b3f69f2b3690bcac6440961e (diff)
downloadminetest-bf3acbf388406f736286d990adb5f35a9023c390.tar.gz
minetest-bf3acbf388406f736286d990adb5f35a9023c390.tar.bz2
minetest-bf3acbf388406f736286d990adb5f35a9023c390.zip
Distribute shadow map update over multiple frames to reduce stutter (#11422)
Reduces stutter and freezes when playing. * Maintains double SM and SM Color textures * Light frustum update triggers incremental generation of shadow map into secondary 'future' textures. * Every incremental update renders a portion of the shadow draw list (split equally). * After defined number of frames (currently, 4), 'future' and 'current' textures are swapped, and DirectionalLight 'commits' the new frustum to use when rendering shadows on screen. Co-authored-by: sfan5 <sfan5@live.de>
Diffstat (limited to 'src/client/clientmap.h')
-rw-r--r--src/client/clientmap.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/client/clientmap.h b/src/client/clientmap.h
index 93ade4c15..97ce8d355 100644
--- a/src/client/clientmap.h
+++ b/src/client/clientmap.h
@@ -125,7 +125,7 @@ public:
void renderMap(video::IVideoDriver* driver, s32 pass);
void renderMapShadows(video::IVideoDriver *driver,
- const video::SMaterial &material, s32 pass);
+ const video::SMaterial &material, s32 pass, int frame, int total_frames);
int getBackgroundBrightness(float max_d, u32 daylight_factor,
int oldvalue, bool *sunlight_seen_result);