/*
    QGLView
    Ivan Pelipenko peri4ko@yandex.ru

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef RENDERER_SIMPLE_H
#define RENDERER_SIMPLE_H

#include "qglview.h"

class RendererSimple: public GLRendererBase {
public:
	RendererSimple(QGLView * view);
	virtual ~RendererSimple() {
		if (shader_fxaa != 0) delete shader_fxaa;
	}

	virtual void renderScene();
	virtual void reloadShaders();
	virtual void init(int width, int height) { resizeFBO(width, height); }
	virtual void resize(int width, int height) { resizeFBO(width, height); }

	QPoint mpos;

protected:

private:
	void resizeFBO(int w, int h);

	GLFramebuffer fbo, fbo_c;
	QOpenGLShaderProgram *shader_fxaa, *shader;
};

#endif // RENDERER_SIMPLE_H
