]> git.tdb.fi Git - libs/gl.git/blobdiff - source/resources/resources.h
Unify the loader wrappers for Material and Scene
[libs/gl.git] / source / resources / resources.h
index a50fdc0e022081602abcaea69c44b4e7d3b2ee9d..293670f9cc06f78563c07a73d5cee3964bf5d781 100644 (file)
@@ -32,19 +32,18 @@ public:
        };
 
 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);
@@ -54,9 +53,10 @@ public:
        void set_resource_manager(ResourceManager *);
 
 protected:
-       Material *create_material(const std::string &);
+       template<typename T>
+       T *create_generic(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 &);