#ifndef RENDERS_H
#define RENDERS_H

#include "./../../lib/GLee/GLee.h"	


#include "./camera/Camera.h"
#include <QGLWidget>
 #include <QGLContext>

#include <vector>

#include "./geometry/ModelObject.h"
#include "./illumination/Light.h"
#include "./phong/Phong.h"
#include "./renderer/AbstractRender.h"
#include "./renderer/Render.h"
#include "./math/Matrix.h"

using namespace RENDER;

class RenderS : public AbstractRender
{
protected:
	Matrix4X4<float> projectionMatrix;
	Matrix4X4<float> viewMatrix;

public:
	void setProjectionMatrix( const Matrix4X4<float> &projMatrix );
	void setViewMatrix( const Matrix4X4<float> &viewMatrix );

	RenderS( Context& context);

	virtual void bind(void);
	virtual void beginFrame( const Matrix4X4<float> &viewMatrix );
	virtual void beginFrame(void);

	virtual void renderModels( vector<Model*> &models);
};


#endif