/* -----------------------------------------------------------------------------
	GSFramework
	Copyright 2001-2013 Emmanuel Julien. All Rights Reserved.
------------------------------------------------------------------------------*/


#ifndef	__NISL_TO_GLSL__
#define	__NISL_TO_GLSL__


		#include "core/shader_input.h"


namespace GS {
	namespace Core {
		struct Shader;
		namespace ISLtoGLSL {

enum	GLSLVariant
{
	OGL,	///< OpenGL 2.1 (GLSL 100)
	OGL32,	///< OpenGL 3.2 (GLSL 130)
	EGL20	///< EGL 2.0
};

/// Get a type name.
bool		GetType(ShaderInput::DataType, String &);
/// Convert an ISL shader to a GLSL shader.
bool		Translate(const Shader &, String &glsl_vertex, String &glsl_fragment, GLSLVariant = OGL);

		} // ISLtoGLSL
	} // Core
} // GS


#endif	// __NISL_TO_GLSL__
