]> git.tdb.fi Git - libs/gl.git/blobdiff - source/core/texture.h
Add color write mask to blend state
[libs/gl.git] / source / core / texture.h
index 80012f46846a7bd11746ed182fc2a56a21c8dfc5..47b2f2696efd35bd07b0c8c52811cc46359d2d63 100644 (file)
@@ -3,7 +3,6 @@
 
 #include <msp/datafile/objectloader.h>
 #include <msp/graphics/image.h>
-#include "gl.h"
 #include "pixelformat.h"
 #include "resource.h"
 
@@ -21,6 +20,8 @@ can be used for texture minification; see the Sampler class for details.
 */
 class Texture: public Resource
 {
+       friend class Framebuffer;
+       friend class PipelineState;
 protected:
        class Loader: public DataFile::CollectionObjectLoader<Texture>
        {
@@ -56,7 +57,7 @@ protected:
        };
 
        unsigned id;
-       GLenum target;
+       unsigned target;
        PixelFormat format;
        PixelFormat storage_fmt;
        FormatSwizzle swizzle;
@@ -64,10 +65,10 @@ protected:
        bool auto_gen_mipmap;
        std::string debug_name;
 
-       static int swizzle_orders[];
+       static const int swizzle_orders[];
        static Texture *scratch_binding;
 
-       Texture(GLenum, ResourceManager * = 0);
+       Texture(unsigned, ResourceManager * = 0);
        Texture(const Texture &);
        Texture &operator=(const Texture &);
 public:
@@ -77,7 +78,7 @@ protected:
        void generate_id();
        void set_format(PixelFormat);
        void apply_swizzle();
-       void set_parameter_i(GLenum, int) const;
+       void set_parameter_i(unsigned, int) const;
 
 public:
        PixelFormat get_format() const { return format; }
@@ -92,9 +93,6 @@ public:
        with the defined storage.  Semantics depend on the type of texture.  */
        virtual void image(const Graphics::Image &, unsigned = 0) = 0;
 
-       GLenum get_target() const { return target; }
-       unsigned get_id() const { return id; }
-
        virtual std::uint64_t get_data_size() const { return 0; }
 
        void set_debug_name(const std::string &);