#include <list>
#include <string>
#include <msp/datafile/objectloader.h>
+#include "bindable.h"
#include "gl.h"
namespace Msp {
class Shader;
-class Program
+class Program: public Bindable<Program>
{
private:
unsigned id;
bool del_shaders;
bool linked;
- static const Program *cur_prog;
-
public:
class Loader: public DataFile::ObjectLoader<Program>
{
int get_uniform_location(const std::string &) const;
static void unbind();
-
-private:
- void maybe_bind();
};
} // namespace GL