1 #ifndef MSP_GL_TEXTURE_BACKEND_H_
2 #define MSP_GL_TEXTURE_BACKEND_H_
4 #include <msp/core/noncopyable.h>
9 class OpenGLTexture: public NonCopyable
11 friend class OpenGLFramebuffer;
12 friend class OpenGLPipelineState;
17 std::string debug_name;
19 OpenGLTexture(unsigned);
20 OpenGLTexture(OpenGLTexture &&);
24 void require_swizzle();
26 void set_parameter_i(unsigned, int) const;
28 void generate_mipmap();
30 void set_debug_name(const std::string &);
33 static void unbind_scratch();
36 using TextureBackend = OpenGLTexture;