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