]> git.tdb.fi Git - libs/gl.git/blobdiff - source/core/texture.h
Use standard fixed-size integer types
[libs/gl.git] / source / core / texture.h
index e3697d2e712404940728085cce8b7ae0ea2818e5..555d19ffee902f3d3457b9a831a1625b4819b03d 100644 (file)
@@ -37,6 +37,8 @@ protected:
        private:
                void init();
 
+               virtual void finish();
+
        protected:
                void load_external_image(Graphics::Image &, const std::string &);
 
@@ -49,11 +51,6 @@ protected:
                void mipmap_levels(unsigned);
        };
 
-       enum ParameterMask
-       {
-               FORMAT_SWIZZLE = 512
-       };
-
        enum FormatSwizzle
        {
                NO_SWIZZLE,
@@ -72,6 +69,7 @@ protected:
        std::string debug_name;
 
        static int swizzle_orders[];
+       static Texture *scratch_binding;
 
        Texture(GLenum, ResourceManager * = 0);
        Texture(const Texture &);
@@ -88,19 +86,7 @@ protected:
 public:
        PixelFormat get_format() const { return format; }
 
-       static bool can_generate_mipmap();
-
        void generate_mipmap();
-protected:
-       void generate_mipmap_();
-
-public:
-       /** Sets automatic mipmap generation.  If enabled, mipmaps are generated
-       when a texture image is uploaded. */
-       void set_auto_generate_mipmap(bool);
-
-       /// Deprecated.  Use set_auto_generate_mipmap instead.
-       DEPRECATED void set_generate_mipmap(bool g) { set_auto_generate_mipmap(g); }
 
        /// Loads a Graphics::Image from a file and uploads it to the texture.
        virtual void load_image(const std::string &, unsigned = 0);
@@ -117,9 +103,14 @@ public:
        GLenum get_target() const { return target; }
        unsigned get_id() const { return id; }
 
-       virtual UInt64 get_data_size() const { return 0; }
+       virtual std::uint64_t get_data_size() const { return 0; }
 
        void set_debug_name(const std::string &);
+
+protected:
+       void bind_scratch();
+public:
+       static void unbind_scratch();
 };
 
 } // namespace GL