1 #pragma once 2 3 #include <EGL/egl.h> 4 #include <GLES2/gl2.h> 5 #include <GLES2/gl2ext.h> 6 7 #define checkGlError(op) checkGLErrorDetail(__FILE__, __LINE__, (op)) 8 9 extern bool checkGLErrorDetail(const char* file, int line, const char* op); 10 extern void checkFramebufferStatus(const char* name); 11 12 class FrameBuffer { 13 public: 14 FrameBuffer(); 15 virtual ~FrameBuffer(); 16 17 bool InitializeGLContext(); 18 bool Init(int width, int height, GLenum format); 19 GLuint GetTextureName() const; 20 GLuint GetFrameBufferName() const; 21 GLenum GetFormat() const; 22 23 int GetWidth() const; 24 int GetHeight() const; 25 26 private: 27 void Reset(); 28 bool CreateBuffers(); 29 GLuint mFrameBufferName; 30 GLuint mTextureName; 31 int mWidth; 32 int mHeight; 33 GLenum mFormat; 34 }; 35