]> git.lizzy.rs Git - minetest.git/commitdiff
Limit shadow map to the viewing range (#12158)
authorx2048 <codeforsmile@gmail.com>
Thu, 31 Mar 2022 20:40:59 +0000 (22:40 +0200)
committerGitHub <noreply@github.com>
Thu, 31 Mar 2022 20:40:59 +0000 (22:40 +0200)
src/client/shadows/dynamicshadows.cpp

index a45bf64fed04aaf7e49453666c25aef2240bdae9..2995ec20547c7e2c672d4607f4103b1855fc3dec 100644 (file)
@@ -93,6 +93,8 @@ void DirectionalLight::update_frustum(const Camera *cam, Client *client, bool fo
 
        float zNear = cam->getCameraNode()->getNearValue();
        float zFar = getMaxFarValue();
+       if (!client->getEnv().getClientMap().getControl().range_all)
+               zFar = MYMIN(zFar, client->getEnv().getClientMap().getControl().wanted_range * BS);
 
        ///////////////////////////////////
        // update splits near and fars