From a5d29fa1d4bc6849d7a6529edc522accac8219d2 Mon Sep 17 00:00:00 2001 From: x2048 Date: Thu, 14 Apr 2022 22:49:30 +0200 Subject: 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 --- src/client/render/core.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/client/render/core.cpp') 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(); -- cgit v1.2.3