-/* $Id$
-
-This file is part of libmspgl
-Copyright © 2007 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
-#ifndef MSP_GL_SHADER_H_
-#define MSP_GL_SHADER_H_
-
-#include <string>
-#include "gl.h"
-
-namespace Msp {
-namespace GL {
-
-enum ShaderType
-{
- FRAGMENT_SHADER = GL_FRAGMENT_SHADER_ARB,
- VERTEX_SHADER = GL_VERTEX_SHADER_ARB
-};
-
-class Shader
-{
-private:
- unsigned id;
- bool compiled;
-
-public:
- Shader(ShaderType t);
- Shader(ShaderType t, const std::string &);
-private:
- void init(ShaderType);
-public:
- ~Shader();
-
- void source(unsigned count, const char **str, const int *len);
- void source(const std::string &str);
- void source(const char *str, int len);
- void compile();
- unsigned get_id() const { return id; }
- bool is_compiled() const { return compiled; }
- std::string get_info_log() const;
-};
-
-} // namespace GL
-} // namespace Msp
-
-#endif