/*
	ZOpenGLFrameBufferRenderTarget.hpp
	Author: James Russell <jcrussell@762studios.com>
	Created: 07/24/2011

	Purpose: 
	
	OpenGL implementation of the ZFramebufferRenderTargetBase class.

	License:

	TODO
*/

#pragma once

#ifndef _ZOPENGLFRAMEBUFFERRENDERTARGET_HPP
#define _ZOPENGLFRAMEBUFFERRENDERTARGET_HPP

//Forward Declarations
class ZOpenGLRenderer;

#include <ZRenderer/ZFramebufferRenderTargetBase.hpp>

#include <SST/SST_GLAPI.h>

class ZOpenGLFramebufferRenderTarget : public ZFramebufferRenderTargetBase
{
protected:
	//Renderer Instance
	ZOpenGLRenderer* Renderer;

public:
	//The OpenGL handle to the FBO
	GLuint GLHandle;

	/*
	Constructor.

	@param _renderer - the current renderer
	@param _width - the width this frame buffer render target be be
	@param _height - the height this frame buffer render target will be
	*/
	ZOpenGLFramebufferRenderTarget(ZOpenGLRenderer *_renderer, size_t _width, size_t _height);

	/*
	Destructor.
	*/
	~ZOpenGLFramebufferRenderTarget();
};

#endif
 
