]> git.tdb.fi Git - libs/gl.git/blobdiff - source/resources.h
Remove the deprecated ProgramBuilder class
[libs/gl.git] / source / resources.h
index 0390d85936902d4b7e75b4c2d569ec8548e61353..6f04a26088b1a4d0768185440d1c1ef98ad9b850 100644 (file)
@@ -7,27 +7,45 @@
 namespace Msp {
 namespace GL {
 
+class Material;
+class Mesh;
+class Program;
+class ResourceManager;
 class Texture2D;
 
+/**
+A collection class for GL resources.  Most useful as a base class for an
+application-specific collection.
+*/
 class Resources: virtual public DataFile::Collection
 {
 private:
        TextureFilter default_tex_filter;
+       float default_tex_anisotropy;
        bool srgb_conversion;
+       ResourceManager *resource_manager;
 
 public:
        Resources();
 
+       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. */
-       void set_srgb_conversion(bool);
+       DEPRECATED void set_srgb_conversion(bool);
+
+       DEPRECATED bool get_srgb_conversion() const { return srgb_conversion; }
 
-       bool get_srgb_conversion() const { return srgb_conversion; }
+       void set_resource_manager(ResourceManager *);
 
 protected:
+       Material *create_material(const std::string &);
+       Mesh *create_mesh(const std::string &);
        Texture2D *create_texture2d(const std::string &);
+       Program *create_program(const std::string &);
 };
 
 } // namespace GL