]> git.tdb.fi Git - libs/gl.git/blobdiff - source/core/texture2d.h
Add support for integer vertex attributes
[libs/gl.git] / source / core / texture2d.h
index 7553b6b703c944a2144e989bf605d41b9ae2295c..8f5c9b21df7df778559e2f52e40bf10bd841144a 100644 (file)
@@ -3,6 +3,7 @@
 
 #include <string>
 #include <msp/graphics/image.h>
+#include <msp/linal/vector.h>
 #include "texture.h"
 
 namespace Msp {
@@ -55,11 +56,19 @@ public:
        undefined.  If storage has already been allocated, does nothing. */
        void allocate(unsigned level);
 
+private:
+       void allocate_(unsigned level);
+
+public:
        /** Updates the contents of the entire texture.  Storage must be defined
        beforehand.  The image data must have dimensions and format matching the
        defined storage. */
        virtual void image(unsigned level, const void *data);
 
+private:
+       void image_(unsigned level, const void *data);
+
+public:
        DEPRECATED void image(unsigned level, PixelComponents fmt, DataType type, const void *data);
 
        /** Updates a rectangular region of the texture.  Storage must be defined
@@ -86,7 +95,7 @@ public:
 
 private:
        unsigned get_n_levels() const;
-       void get_level_size(unsigned, unsigned &, unsigned &) const;
+       LinAl::Vector<unsigned, 2> get_level_size(unsigned) const;
 
 public:
        virtual Resource::AsyncLoader *load(IO::Seekable &, const Resources * = 0);