GLFBOManager::GLFBOManager(bool atimode):
		mATIMode(atimode)
    {
        detectFBOFormats();
        
        glGenFramebuffersEXT(1, &mTempFBO);
    }
	GLES2FBOManager::GLES2FBOManager()
    {
        detectFBOFormats();
        
        glGenFramebuffers(1, &mTempFBO);
        GL_CHECK_ERROR;
    }
	GLESFBOManager::GLESFBOManager() 
		: mTempFBO(0)
    {
        detectFBOFormats();
        
        glGenFramebuffersOES(1, &mTempFBO);
        GL_CHECK_ERROR;
    }
    void GLES2FBOManager::_reload()
    {
        OGRE_CHECK_GL_ERROR(glDeleteFramebuffers(1, &mTempFBO));
        
        detectFBOFormats();

        OGRE_CHECK_GL_ERROR(glGenFramebuffers(1, &mTempFBO));
    }
 void GLESFBOManager::_reload()
 {
     glDeleteFramebuffersOES(1, &mTempFBO);
     GL_CHECK_ERROR;
     
     detectFBOFormats();
     
     glGenFramebuffersOES(1, &mTempFBO);
     GL_CHECK_ERROR;
 }
    GLES2FBOManager::GLES2FBOManager() : mMaxFSAASamples(0)
    {
        detectFBOFormats();
        
        OGRE_CHECK_GL_ERROR(glGenFramebuffers(1, &mTempFBO));

        // Check multisampling if supported
        if(getGLES2RenderSystem()->hasMinGLVersion(3, 0))
        {
            // Check samples supported
            OGRE_CHECK_GL_ERROR(glGetIntegerv(GL_MAX_SAMPLES_APPLE, &mMaxFSAASamples));
        }
    }