SparrowRenderer/posteffectmodule.h

36 lines
763 B
C++

#ifndef POSTEFFECTMODULE_H
#define POSTEFFECTMODULE_H
#include <glew/glew.h>
#include "module.h"
class Shader;
class FrameBuffer;
class PostEffectModule : public Module
{
GLuint vao;
GLuint vbo;
FrameBuffer* inputFBO;
const FrameBuffer* outputFBO;
Shader* shader;
GLuint colorLocation;
GLuint depthLocation;
static const GLfloat vertices[];
enum Buffers {COLOR_BUFFER, DEPTH_BUFFER};
public:
PostEffectModule(int width, int height);
~PostEffectModule();
virtual void renderGL(Camera* myCamera, Scene* scene);
FrameBuffer* getInputFBO() {return inputFBO;}
void setRenderTarget(FrameBuffer* renderTarget) {outputFBO = renderTarget;}
void setShader(Shader* myShader);
};
#endif // POSTEFFECTMODULE_H