2015-01-30 13:59:52 +00:00
|
|
|
#ifndef POST_PROCESSOR_H
|
|
|
|
#define POST_PROCESSOR_H
|
|
|
|
|
|
|
|
#include "Types.h"
|
|
|
|
#include "OpenGL.h"
|
|
|
|
#include "Textures.h"
|
|
|
|
|
|
|
|
class PostProcessor {
|
|
|
|
public:
|
|
|
|
void init();
|
|
|
|
void destroy();
|
|
|
|
|
2015-01-31 07:14:13 +00:00
|
|
|
void process(FrameBuffer * _pBuffer);
|
2015-01-30 13:59:52 +00:00
|
|
|
|
|
|
|
static PostProcessor & get();
|
|
|
|
|
|
|
|
private:
|
2015-01-31 07:14:13 +00:00
|
|
|
PostProcessor() :
|
2015-05-14 14:26:08 +00:00
|
|
|
m_extractBloomProgram(0), m_seperableBlurProgram(0), m_glowProgram(0), m_bloomProgram(0), m_copyProgram(0),
|
2015-01-31 07:14:13 +00:00
|
|
|
m_FBO_original(0), m_FBO_glowMap(0), m_FBO_blur(0),
|
2015-04-18 07:43:35 +00:00
|
|
|
m_pTextureOriginal(NULL), m_pTextureGlowMap(NULL), m_pTextureBlur(NULL) {}
|
2015-01-30 13:59:52 +00:00
|
|
|
PostProcessor(const PostProcessor & _other);
|
|
|
|
|
2015-01-31 07:14:13 +00:00
|
|
|
GLuint m_extractBloomProgram;
|
|
|
|
GLuint m_seperableBlurProgram;
|
|
|
|
GLuint m_glowProgram;
|
2015-01-30 13:59:52 +00:00
|
|
|
GLuint m_bloomProgram;
|
2015-05-14 14:26:08 +00:00
|
|
|
GLuint m_copyProgram;
|
2015-01-30 13:59:52 +00:00
|
|
|
|
2015-01-31 07:14:13 +00:00
|
|
|
GLuint m_FBO_original;
|
|
|
|
GLuint m_FBO_glowMap;
|
|
|
|
GLuint m_FBO_blur;
|
|
|
|
|
|
|
|
CachedTexture * m_pTextureOriginal;
|
|
|
|
CachedTexture * m_pTextureGlowMap;
|
|
|
|
CachedTexture * m_pTextureBlur;
|
2015-01-30 13:59:52 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // POST_PROCESSOR_H
|