diff --git a/src/rendering/hwrenderer/postprocessing/hw_postprocess.h b/src/rendering/hwrenderer/postprocessing/hw_postprocess.h index 905649f87c..dd9ee94f5e 100644 --- a/src/rendering/hwrenderer/postprocessing/hw_postprocess.h +++ b/src/rendering/hwrenderer/postprocessing/hw_postprocess.h @@ -639,3 +639,20 @@ public: void UpdateTextures() override; void UpdateSteps() override; }; + +struct ShadowMapUniforms +{ + float ShadowmapQuality; + float Padding0, Padding1, Padding2; + + static std::vector Desc() + { + return + { + { "ShadowmapQuality", UniformType::Float, offsetof(ShadowMapUniforms, ShadowmapQuality) }, + { "Padding0", UniformType::Float, offsetof(ShadowMapUniforms, Padding0) }, + { "Padding1", UniformType::Float, offsetof(ShadowMapUniforms, Padding1) }, + { "Padding2", UniformType::Float, offsetof(ShadowMapUniforms, Padding2) }, + }; + } +}; diff --git a/src/rendering/hwrenderer/postprocessing/hw_shadowmapshader.cpp b/src/rendering/hwrenderer/postprocessing/hw_shadowmapshader.cpp index 3772a50368..199993d466 100644 --- a/src/rendering/hwrenderer/postprocessing/hw_shadowmapshader.cpp +++ b/src/rendering/hwrenderer/postprocessing/hw_shadowmapshader.cpp @@ -27,7 +27,7 @@ void FShadowMapShader::Bind(IRenderQueue *q) { if (!mShader) { - FString prolog = Uniforms.CreateDeclaration("Uniforms", UniformBlock::Desc()); + FString prolog = Uniforms.CreateDeclaration("Uniforms", ShadowMapUniforms::Desc()); mShader.reset(screen->CreateShaderProgram()); mShader->Compile(IShaderProgram::Vertex, "shaders/glsl/screenquad.vp", "", 430); diff --git a/src/rendering/hwrenderer/postprocessing/hw_shadowmapshader.h b/src/rendering/hwrenderer/postprocessing/hw_shadowmapshader.h index 34b8de4a90..2b1b3204a7 100644 --- a/src/rendering/hwrenderer/postprocessing/hw_shadowmapshader.h +++ b/src/rendering/hwrenderer/postprocessing/hw_shadowmapshader.h @@ -2,30 +2,14 @@ #define __GL_SHADOWMAPSHADER_H #include "hwrenderer/postprocessing/hw_shaderprogram.h" +#include "hwrenderer/postprocessing/hw_postprocess.h" class FShadowMapShader { public: void Bind(IRenderQueue *q); - struct UniformBlock - { - float ShadowmapQuality; - float Padding0, Padding1, Padding2; - - static std::vector Desc() - { - return - { - { "ShadowmapQuality", UniformType::Float, offsetof(UniformBlock, ShadowmapQuality) }, - { "Padding0", UniformType::Float, offsetof(UniformBlock, Padding0) }, - { "Padding1", UniformType::Float, offsetof(UniformBlock, Padding1) }, - { "Padding2", UniformType::Float, offsetof(UniformBlock, Padding2) }, - }; - } - }; - - ShaderUniforms Uniforms; + ShaderUniforms Uniforms; private: std::unique_ptr mShader;