From 442e48b84fea511badf108cedc2a6b43d79fd852 Mon Sep 17 00:00:00 2001 From: x2048 Date: Thu, 12 Aug 2021 20:07:09 +0200 Subject: 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. --- src/client/shadows/shadowsshadercallbacks.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/client/shadows/shadowsshadercallbacks.h') diff --git a/src/client/shadows/shadowsshadercallbacks.h b/src/client/shadows/shadowsshadercallbacks.h index 43ad489f2..3549567c3 100644 --- a/src/client/shadows/shadowsshadercallbacks.h +++ b/src/client/shadows/shadowsshadercallbacks.h @@ -21,14 +21,28 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "irrlichttypes_extrabloated.h" #include #include +#include "client/shader.h" class ShadowDepthShaderCB : public video::IShaderConstantSetCallBack { public: + ShadowDepthShaderCB() : + m_light_mvp_setting("LightMVP"), + m_map_resolution_setting("MapResolution"), + m_max_far_setting("MaxFar"), + m_color_map_sampler_setting("ColorMapSampler") + {} + void OnSetMaterial(const video::SMaterial &material) override {} void OnSetConstants(video::IMaterialRendererServices *services, s32 userData) override; f32 MaxFar{2048.0f}, MapRes{1024.0f}; + +private: + CachedVertexShaderSetting m_light_mvp_setting; + CachedVertexShaderSetting m_map_resolution_setting; + CachedVertexShaderSetting m_max_far_setting; + CachedPixelShaderSetting m_color_map_sampler_setting; }; -- cgit v1.2.3