]> git.tdb.fi Git - libs/gl.git/blobdiff - source/core/texture2d.h
Refactor uploading texture data from a buffer
[libs/gl.git] / source / core / texture2d.h
index eba553b00c27089e44300424166afee3f8a6b54b..58552f1165ea318fe664cdaea7e88bc14289ca4e 100644 (file)
@@ -9,6 +9,8 @@
 namespace Msp {
 namespace GL {
 
+class Buffer;
+
 /**
 Two-dimensional texture.  Consists of an array of texels in the shape of a
 rectangle.  Texture coordinate have a range of [0, 1].  Coordinates outside of
@@ -58,6 +60,10 @@ public:
        and the update region must be fully inside the texture. */
        void sub_image(unsigned level, int x, int y, unsigned wd, unsigned ht, const void *data);
 
+private:
+       void sub_image(unsigned, int, int, unsigned, unsigned, const Buffer &, unsigned);
+
+public:
        /** Updates the contents of the entire texture from an image.  If storage
        has not been defined, it will be set to match the image.  Otherwise the
        image must match the defined storage. */
@@ -65,10 +71,6 @@ public:
 
        using Texture::image;
 
-private:
-       void image(const Graphics::Image &, unsigned, bool);
-
-public:
        unsigned get_width() const { return width; }
        unsigned get_height() const { return height; }