37 lines
620 B
C++
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
|