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/shadowsshadercallbacks.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/shadowsshadercallbacks.h')
-rw-r--r-- | src/client/shadows/shadowsshadercallbacks.h | 14 |
1 files changed, 14 insertions, 0 deletions
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 <IMaterialRendererServices.h> #include <IShaderConstantSetCallBack.h> +#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<f32, 16> m_light_mvp_setting; + CachedVertexShaderSetting<f32> m_map_resolution_setting; + CachedVertexShaderSetting<f32> m_max_far_setting; + CachedPixelShaderSetting<s32> m_color_map_sampler_setting; }; |