summaryrefslogtreecommitdiff
path: root/src/client/shadows/shadowsScreenQuad.h
diff options
context:
space:
mode:
authorx2048 <codeforsmile@gmail.com>2021-08-12 20:07:09 +0200
committerGitHub <noreply@github.com>2021-08-12 20:07:09 +0200
commit442e48b84fea511badf108cedc2a6b43d79fd852 (patch)
treed4ba62bd7398f4e1f820dd19425344588a1fe9db /src/client/shadows/shadowsScreenQuad.h
parent0709946c75ae6f2257d368714185bed7bee538ba (diff)
downloadminetest-442e48b84fea511badf108cedc2a6b43d79fd852.tar.gz
minetest-442e48b84fea511badf108cedc2a6b43d79fd852.tar.bz2
minetest-442e48b84fea511badf108cedc2a6b43d79fd852.zip
Move updating shadows outside of RenderingCore::drawAll. (#11491)
Fixes indirect rendering modes such as some 3D modes mentioned in #11437 and undersampled rendering. Does not fully fix anaglyph 3d mode.
Diffstat (limited to 'src/client/shadows/shadowsScreenQuad.h')
-rw-r--r--src/client/shadows/shadowsScreenQuad.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/client/shadows/shadowsScreenQuad.h b/src/client/shadows/shadowsScreenQuad.h
index e6cc95957..c18be9a2b 100644
--- a/src/client/shadows/shadowsScreenQuad.h
+++ b/src/client/shadows/shadowsScreenQuad.h
@@ -21,6 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "irrlichttypes_extrabloated.h"
#include <IMaterialRendererServices.h>
#include <IShaderConstantSetCallBack.h>
+#include "client/shader.h"
class shadowScreenQuad
{
@@ -38,8 +39,16 @@ private:
class shadowScreenQuadCB : public video::IShaderConstantSetCallBack
{
public:
- shadowScreenQuadCB(){};
+ shadowScreenQuadCB() :
+ m_sm_client_map_setting("ShadowMapClientMap"),
+ m_sm_client_map_trans_setting("ShadowMapClientMapTraslucent"),
+ m_sm_dynamic_sampler_setting("ShadowMapSamplerdynamic")
+ {}
virtual void OnSetConstants(video::IMaterialRendererServices *services,
s32 userData);
+private:
+ CachedPixelShaderSetting<s32> m_sm_client_map_setting;
+ CachedPixelShaderSetting<s32> m_sm_client_map_trans_setting;
+ CachedPixelShaderSetting<s32> m_sm_dynamic_sampler_setting;
};