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/shadows/dynamicshadows.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/client/shadows/dynamicshadows.h') diff --git a/src/client/shadows/dynamicshadows.h b/src/client/shadows/dynamicshadows.h index 70574aa6c..6e9d96b15 100644 --- a/src/client/shadows/dynamicshadows.h +++ b/src/client/shadows/dynamicshadows.h @@ -69,12 +69,18 @@ public: const core::matrix4 &getFutureProjectionMatrix() const; core::matrix4 getViewProjMatrix(); - /// Gets the light's far value. + /// Gets the light's maximum far value, i.e. the shadow boundary f32 getMaxFarValue() const { return farPlane * BS; } + /// Gets the current far value of the light + f32 getFarValue() const + { + return shadow_frustum.zFar; + } + /// Gets the light's color. const video::SColorf &getLightColor() const -- cgit v1.2.3