private:
void init();
- void raw_data(const std::string &);
void storage(PixelFormat, unsigned, unsigned);
void storage_levels(PixelFormat, unsigned, unsigned, unsigned);
};
private:
unsigned width = 0;
unsigned height = 0;
- unsigned levels = 0;
public:
+ Texture2D() = default;
+ Texture2D(Texture2D &&) = default;
virtual ~Texture2D();
/** Sets storage format and dimensions and allocates memory for the texture.
cannot be changed once set. */
void storage(PixelFormat, unsigned wd, unsigned ht, unsigned lv = 0);
- /** Replaces contents of an entire mipmap level. Allocated storage must
- exist. The image data is interpreted according to the storage format and
- must have size matching the selected mipmap level. */
- virtual void image(unsigned level, const void *);
+ void image(unsigned level, const void *) override;
/** Replaces a rectangular region of the texture. Allocated storage must
exist. The image data is interpreted according to the storage format and
the region must be fully inside the selected mipmap level. */
- void sub_image(unsigned level, int x, int y, unsigned wd, unsigned ht, const void *);
+ void sub_image(unsigned level, unsigned x, unsigned y, unsigned wd, unsigned ht, const void *);
virtual void image(const Graphics::Image &, unsigned = 0);
private:
unsigned get_n_levels() const;
LinAl::Vector<unsigned, 2> get_level_size(unsigned) const;
-
-public:
- virtual Resource::AsyncLoader *load(IO::Seekable &, const Resources * = 0);
- virtual std::size_t get_data_size() const;
- using Texture2DBackend::unload;
};
} // namespace GL