#ifndef TEXTUREREDUX_H #define TEXTUREREDUX_H #include "framebuffer.h" #include class FrameBuffer; class Shader; class TextureRedux { FrameBuffer ping; FrameBuffer pong; FrameBuffer* m_input; Shader* m_shader; enum UniformLocation { SAMPLER, WIDTH, HEIGTH, }; GLuint uniformLocations[3]; public: /** * the input texture must be of type GL_FLOAT and format GL_RGB */ TextureRedux(FrameBuffer* input, int textureId = 0); ~TextureRedux(); void setShader(Shader* shader); glm::vec3 redux(); }; #endif // TEXTUREREDUX_H