#ifndef POSTEFFECTMODULE_H #define POSTEFFECTMODULE_H #include #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