class Material;
class Mesh;
+class Module;
class Program;
class ResourceManager;
+class Scene;
class Texture2D;
/**
*/
class Resources: virtual public DataFile::Collection
{
+public:
+ class Loader: public DataFile::DerivedObjectLoader<Resources, Collection::Loader>
+ {
+ public:
+ Loader(Resources &);
+
+ private:
+ void scene(const std::string &);
+ };
+
private:
- TextureFilter default_tex_filter;
- float default_tex_anisotropy;
bool srgb_conversion;
ResourceManager *resource_manager;
+ static Resources *global_resources;
+
public:
- Resources();
+ Resources(bool = true);
+ virtual ~Resources();
+ static Resources &get_global();
static const DataFile::CollectionSource &get_builtins();
- void set_default_texture_filter(TextureFilter);
- void set_default_texture_anisotropy(float);
-
/** Enables or disables sRGB conversion. If enabled, textures and material
colors are converted from sRGB to linear color space when loaded. */
DEPRECATED void set_srgb_conversion(bool);
protected:
Material *create_material(const std::string &);
Mesh *create_mesh(const std::string &);
+ Scene *create_scene(const std::string &);
Texture2D *create_texture2d(const std::string &);
+ Module *create_module(const std::string &);
Program *create_program(const std::string &);
+
+ template<typename T>
+ void set_debug_name(const std::string &, T &);
};
} // namespace GL