#pragma once

#include <C2/gl/GlslShader.h>
#include <C2/gl/GlTextureObject.h>

#include "ShaderInterface.h"

#include <LibQtGeoViewerCore/SceneMain.h>



class MatcapShader : public ShaderInterface
{
public:
	MatcapShader(ShaderContext* context);

	const char* GetShaderName(void)
	{
		return "MatcapShader";
	}

	bool Initialize(const std::string& shader_libdir);

	virtual void BeginShader(void);
	virtual void EndShader(void);

	virtual void SetMatcap(gl::MatcapImage* matcap);

private:
	lib_gl::GlslProgram m_Shader;
};
