]> git.tdb.fi Git - libs/gl.git/blobdiff - source/texture.h
Deprecate the mipmap_levels parameter in Texture
[libs/gl.git] / source / texture.h
index 3fa29f60603ca66272d306b9cbe35c49e1d0ea27..8aac05927288cfcbcdb8253230f8df97829f6c82 100644 (file)
@@ -74,6 +74,7 @@ protected:
        class Loader: public DataFile::CollectionObjectLoader<Texture>
        {
        protected:
+               unsigned levels;
                bool srgb;
 
        public:
@@ -106,8 +107,7 @@ protected:
                COMPARE = 64,
                COMPARE_FUNC = 128,
                MAX_ANISOTROPY = 256,
-               FORMAT_SWIZZLE = 512,
-               MIPMAP_LEVELS = 1024
+               FORMAT_SWIZZLE = 512
        };
 
        enum FormatSwizzle
@@ -123,7 +123,6 @@ protected:
        FormatSwizzle swizzle;
        TextureFilter min_filter;
        TextureFilter mag_filter;
-       unsigned mipmap_levels;
        float max_anisotropy;
        TextureWrap wrap_s;
        TextureWrap wrap_t;
@@ -157,7 +156,7 @@ public:
        is not applicable to magnification, LINEAR is used instead. */
        void set_filter(TextureFilter);
 
-       void set_mipmap_levels(unsigned);
+       DEPRECATED void set_mipmap_levels(unsigned) { }
 
        void set_max_anisotropy(float);
 
@@ -191,13 +190,17 @@ public:
        /// Loads a Graphics::Image from a file and uploads it to the texture.
        virtual void load_image(const std::string &, bool srgb = false);
 
+       virtual void load_image(const std::string &, unsigned, bool srgb = false);
+
        /** Uploads an image to the texture.  If storage has not been defined, it
        will be set to match the image.  Otherwise the image must be compatible
        with the defined storage.  Semantics depend on the type of texture.
 
        If srgb is true and storage is determined by this call, then an sRGB pixel
        format will be used. */
-       virtual void image(const Graphics::Image &, bool srgb = false) = 0;
+       virtual void image(const Graphics::Image &, bool srgb = false);
+
+       virtual void image(const Graphics::Image &, unsigned, bool srgb = false) = 0;
 
        GLenum get_target() const { return target; }
        unsigned get_id() const { return id; }