summaryrefslogtreecommitdiff
path: root/src/client/shadows/shadowsshadercallbacks.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/shadowsshadercallbacks.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/shadowsshadercallbacks.h')
-rw-r--r--src/client/shadows/shadowsshadercallbacks.h14
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;
};