+/* $Id$
+
+This file is part of libmspgl
+Copyright © 2007 Mikko Rasa, Mikkosoft Productions
+Distributed under the LGPL
+*/
+
#ifndef MSP_GL_TEXTURE_H_
#define MSP_GL_TEXTURE_H_
class Texture
{
public:
+ ~Texture();
+
void bind() 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; }
- sizei get_width(int =0) const;
- sizei get_height(int =0) const;
- sizei get_depth(int =0) const;
- ~Texture();
+
+ static void unbind();
protected:
uint id;
GLenum target;
Texture();
-
- static const Texture *bound;
+ Texture(const Texture &);
+ Texture &operator=(const Texture &);
+ void maybe_bind() const;
};
} // namespace GL