]> git.tdb.fi Git - libs/gl.git/blobdiff - source/texture3d.h
Support BGR and BGRA as texture formats through swizzling
[libs/gl.git] / source / texture3d.h
index ce63a55ed04d9755d1087b93bc1508b8fdcc5723..ecdff9d6c90549ae7e958e815e67e8493a4b050c 100644 (file)
@@ -46,6 +46,9 @@ public:
        it can't be changed. */
        void storage(PixelFormat fmt, unsigned wd, unsigned ht, unsigned dp, unsigned lv = 0);
 
+       DEPRECATED void storage(PixelComponents c, unsigned w, unsigned h, unsigned d, unsigned l = 0)
+       { storage(make_pixelformat(c, UNSIGNED_BYTE), w, h, d, l); }
+
        /** Allocates storage for the texture.  The contents are initially
        undefined.  If storage has already been allocated, does nothing. */
        void allocate(unsigned level);
@@ -53,28 +56,14 @@ public:
        /** Uploads an image to the texture.  Storage must be defined beforehand.
        The image data must have dimensions and format compatible with the defined
        storage. */
-       void image(unsigned level, PixelFormat fmt, DataType type, const void *data);
+       void image(unsigned level, PixelComponents, DataType type, const void *data);
 
        /** Updates a cuboid-shaped region of the texture.  Storage must be defined
        and allocated beforehand.  The update region must be fully inside the
        texture. */
        void sub_image(unsigned level,
                int x, int y, int z, unsigned wd, unsigned ht, unsigned dp,
-               PixelFormat fmt, DataType type, const void *data);
-
-       /** Loads an image from a file and uploads it to the texture.  If storage
-       has not been defined, it will be set to match the loaded image.  To
-       construct a three-dimensional texture from a two-dimensional image, the
-       image is interpreted as an array of consecutive images.  If dp is -1, the
-       texture's width and height are equal.  If dp is -2, the texture's height and
-       depth are equal.  Otherwise, dp must be positive and determines the
-       texture's depth.  In all cases, the image's height must equal the texture's
-       height times its depth.
-       
-       Deprecated in favor of the base class version.*/
-       DEPRECATED void load_image(const std::string &fn, int dp = -1);
-
-       using Texture::load_image;
+               PixelComponents comp, DataType type, const void *data);
 
        /** Uploads an image to the texture.  If storage has not been defined, it
        will be set to match the image.  In this case the image will be treated as