#define MSP_GL_TEXTURE_H_
#include <istream>
-#include <msp/datafile/loader.h>
+#include <msp/datafile/objectloader.h>
#include "gl.h"
-#include "types.h"
namespace Msp {
namespace GL {
class Texture
{
protected:
- class Loader: public DataFile::Loader
+ class Loader: public DataFile::ObjectLoader<Texture>
{
- protected:
- Texture &tex;
-
public:
Loader(Texture &);
void min_filter(TextureFilter);
~Texture();
void bind() const;
+ void bind_to(unsigned) const;
void parameter(GLenum, int);
void parameter(GLenum, float);
void set_min_filter(TextureFilter f) { parameter(GL_TEXTURE_MIN_FILTER, f); }
void set_mag_filter(TextureFilter f) { parameter(GL_TEXTURE_MAG_FILTER, f); }
GLenum get_target() const { return target; }
- uint get_id() const { return id; }
+ unsigned get_id() const { return id; }
static void unbind();
+ static void unbind_from(unsigned);
protected:
- uint id;
+ unsigned id;
GLenum target;
Texture();