1 #ifndef MSP_GL_RESOURCES_H_
2 #define MSP_GL_RESOURCES_H_
4 #include <msp/datafile/collection.h>
14 class ResourceManager;
19 A collection class for GL resources. Most useful as a base class for an
20 application-specific collection.
22 class Resources: virtual public DataFile::Collection
25 class Loader: public DataFile::DerivedObjectLoader<Resources, Collection::Loader>
31 void scene(const std::string &);
35 TextureFilter default_tex_filter;
36 float default_tex_anisotropy;
38 ResourceManager *resource_manager;
43 static const DataFile::CollectionSource &get_builtins();
45 void set_default_texture_filter(TextureFilter);
46 void set_default_texture_anisotropy(float);
48 /** Enables or disables sRGB conversion. If enabled, textures and material
49 colors are converted from sRGB to linear color space when loaded. */
50 DEPRECATED void set_srgb_conversion(bool);
52 DEPRECATED bool get_srgb_conversion() const { return srgb_conversion; }
54 void set_resource_manager(ResourceManager *);
57 Material *create_material(const std::string &);
58 Mesh *create_mesh(const std::string &);
59 Scene *create_scene(const std::string &);
60 Texture2D *create_texture2d(const std::string &);
61 Module *create_module(const std::string &);
62 Program *create_program(const std::string &);
65 void set_debug_name(const std::string &, T &);