+ /** Sets storage format and size and allocates memory for the texture. If
+ lv is zero, a complete mipmap pyramid is automatically created. Storage
+ cannot be changed once set. */
+ void storage(PixelFormat, unsigned wd, unsigned lv = 0);
+
+ virtual void image(unsigned level, const void *);
+
+ /** Replaces a range of texels in the texture. Allocated storage must
+ exist. The image data is interpreted according to the storage format and
+ the range must be fully inside the selected mipmap level. */
+ void sub_image(unsigned level, unsigned x, unsigned wd, const void *);