private:
void init();
- void raw_data(const std::string &);
void storage(PixelFormat, unsigned);
void storage_levels(PixelFormat, unsigned, unsigned);
};
private:
unsigned width = 0;
- unsigned levels = 0;
public:
/** Sets storage format and size and allocates memory for the texture. If
cannot be changed once set. */
void storage(PixelFormat, unsigned wd, 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. */
- void image(unsigned level, const void *);
+ virtual void image(unsigned level, const void *);
/** Replaces a range of texels in the texture. Allocated storage must
exist. The image data is interpreted according to the storage format and
unsigned get_width() const { return width; }
private:
- unsigned get_n_levels() const;
unsigned get_level_size(unsigned) const;
-
-public:
- virtual AsyncLoader *load(IO::Seekable &, const Resources * = 0) { return 0; }
- virtual std::size_t get_data_size() const;
- virtual void unload() { }
};
} // namespace GL