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