1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-02 09:03:37 +00:00
GLideN64/src/PostProcessor.h

44 lines
982 B
C
Raw Normal View History

#ifndef POST_PROCESSOR_H
#define POST_PROCESSOR_H
#include "Types.h"
#include "OpenGL.h"
#include "Textures.h"
class PostProcessor {
public:
void init();
void destroy();
void doBlur(FrameBuffer * _pBuffer);
static PostProcessor & get();
static const u32 postEffectBlur = 1U;
private:
PostProcessor() :
2015-05-14 14:26:08 +00:00
m_extractBloomProgram(0), m_seperableBlurProgram(0), m_glowProgram(0), m_bloomProgram(0), m_copyProgram(0),
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) {}
PostProcessor(const PostProcessor & _other);
void _initBlur();
void _destroyBlur();
GLuint m_extractBloomProgram;
GLuint m_seperableBlurProgram;
GLuint m_glowProgram;
GLuint m_bloomProgram;
2015-05-14 14:26:08 +00:00
GLuint m_copyProgram;
GLuint m_FBO_original;
GLuint m_FBO_glowMap;
GLuint m_FBO_blur;
CachedTexture * m_pTextureOriginal;
CachedTexture * m_pTextureGlowMap;
CachedTexture * m_pTextureBlur;
};
#endif // POST_PROCESSOR_H