class Loader: public DataFile::CollectionObjectLoader<Texture>
{
protected:
+ unsigned levels;
bool srgb;
public:
COMPARE = 64,
COMPARE_FUNC = 128,
MAX_ANISOTROPY = 256,
- FORMAT_SWIZZLE = 512,
- MIPMAP_LEVELS = 1024
+ FORMAT_SWIZZLE = 512
};
enum FormatSwizzle
FormatSwizzle swizzle;
TextureFilter min_filter;
TextureFilter mag_filter;
- unsigned mipmap_levels;
float max_anisotropy;
TextureWrap wrap_s;
TextureWrap wrap_t;
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);
/// 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; }