summaryrefslogtreecommitdiff
path: root/src/client/render/core.cpp
diff options
context:
space:
mode:
authorx2048 <codeforsmile@gmail.com>2022-04-14 22:49:30 +0200
committerGitHub <noreply@github.com>2022-04-14 22:49:30 +0200
commita5d29fa1d4bc6849d7a6529edc522accac8219d2 (patch)
tree16643a9fcfeef12802fb867803a7de35e93d649f /src/client/render/core.cpp
parent9aabd911eb57a5ddef72dd9b7c96f5cca1bd258e (diff)
downloadminetest-a5d29fa1d4bc6849d7a6529edc522accac8219d2.tar.gz
minetest-a5d29fa1d4bc6849d7a6529edc522accac8219d2.tar.bz2
minetest-a5d29fa1d4bc6849d7a6529edc522accac8219d2.zip
Implement shadow offsets for the new SM distortion function (#12191)
* Move shadow position calculation to vertex shaders * Animate entire scene before rendering shadows to prevent lagging of shadows * Remove unnecessary use of PolygonOffsetFactor * Apply normal offset to both nodes and objects * Rename getPerspectiveFactor -> applyPerspectiveDistortion * Remove perspective distortion from fragment shaders
Diffstat (limited to 'src/client/render/core.cpp')
-rw-r--r--src/client/render/core.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/client/render/core.cpp b/src/client/render/core.cpp
index c67f297c4..55cc4e490 100644
--- a/src/client/render/core.cpp
+++ b/src/client/render/core.cpp
@@ -76,8 +76,11 @@ void RenderingCore::draw(video::SColor _skycolor, bool _show_hud, bool _show_min
draw_wield_tool = _draw_wield_tool;
draw_crosshair = _draw_crosshair;
- if (shadow_renderer)
+ if (shadow_renderer) {
+ // This is necessary to render shadows for animations correctly
+ smgr->getRootSceneNode()->OnAnimate(device->getTimer()->getTime());
shadow_renderer->update();
+ }
beforeDraw();
drawAll();