5 #include <unordered_map>
7 #include <glow/ref_ptr.h>
9 #include "renderpass.h"
10 #include "etc/contextdependant.h"
15 class AbstractUniform;
33 void setInputMapping(
const std::unordered_map<std::string, int>& inputMapping);
34 void setOutput(
const std::vector<int>& output);
36 void setFragmentShader(
const std::string& output);
39 void setUniform(
const std::string& name,
const T& value);
42 void setEnabled(
bool enabled);
45 std::unordered_map<std::string, glow::ref_ptr<glow::AbstractUniform>> m_uniforms;
46 glow::ref_ptr<glow::Program> m_program;
47 std::shared_ptr<ScreenQuad> m_quad;
49 std::unordered_map<std::string, int> m_inputMapping;
50 std::vector<int> m_output;
51 std::string m_fragmentShader;
52 std::string m_vertexShader;
56 void restoreUniforms();
57 virtual void beforeContextDestroy()
override;
58 virtual void afterContextRebuild()
override;
61 #include "postprocessingpass.inl"
Definition: contextdependant.h:7
Definition: renderpass.h:15
Definition: framebuffer.h:17
Definition: postprocessingpass.h:25
Definition: screenquad.h:15