+++ /dev/null
-#ifndef MSP_GL_TEXTURE_H_
-#define MSP_GL_TEXTURE_H_
-
-#include <GL/gl.h>
-#include "types.h"
-
-namespace Msp {
-namespace GL {
-
-enum TextureFilter
-{
- NEAREST = GL_NEAREST,
- LINEAR = GL_LINEAR,
- NEAREST_MIPMAP_NEAREST = GL_NEAREST_MIPMAP_NEAREST,
- NEAREST_MIPMAP_LINEAR = GL_NEAREST_MIPMAP_LINEAR,
- LINEAR_MIPMAP_NEAREST = GL_LINEAR_MIPMAP_NEAREST,
- LINEAR_MIPMAP_LINEAR = GL_LINEAR_MIPMAP_LINEAR
-};
-
-enum TextureFormat
-{
- LUMINANCE8,
- LUMINANCE8_ALPHA8,
- RGB8,
- RGBA8,
- BGR8,
- BGRA8
-};
-
-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; }
-
- static void unbind();
-protected:
- uint id;
- GLenum target;
-
- Texture();
- Texture(const Texture &);
- Texture &operator=(const Texture &);
- void maybe_bind() const;
-};
-
-} // namespace GL
-} // namespace Msp
-
-#endif