SparrowRenderer/src/textureredux.h

37 lines
620 B
C++

#ifndef TEXTUREREDUX_H
#define TEXTUREREDUX_H
#include "framebuffer.h"
#include <glm/vec3.hpp>
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