diff options
author | x2048 <codeforsmile@gmail.com> | 2021-08-12 20:07:09 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-12 20:07:09 +0200 |
commit | 442e48b84fea511badf108cedc2a6b43d79fd852 (patch) | |
tree | d4ba62bd7398f4e1f820dd19425344588a1fe9db /src/client/shadows/shadowsScreenQuad.h | |
parent | 0709946c75ae6f2257d368714185bed7bee538ba (diff) | |
download | minetest-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.h | 11 |
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; }; |