X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fresources.h;h=838b022989b69eb9ea73c31c5cb57a6da4ab62bd;hb=859015dce969a0d9ba2bc603d6dbb2685159e393;hp=0390d85936902d4b7e75b4c2d569ec8548e61353;hpb=e37851b98dde5082ee92570354746f2f92e21940;p=libs%2Fgl.git diff --git a/source/resources.h b/source/resources.h index 0390d859..838b0229 100644 --- a/source/resources.h +++ b/source/resources.h @@ -1,23 +1,36 @@ #ifndef MSP_GL_RESOURCES_H_ #define MSP_GL_RESOURCES_H_ +#include #include #include "texture.h" namespace Msp { namespace GL { +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; bool srgb_conversion; + ResourceManager *resource_manager; public: Resources(); +private: + static DataFile::BuiltinSource &get_builtins(); + +public: void set_default_texture_filter(TextureFilter); /** Enables or disables sRGB conversion. If enabled, textures and material @@ -26,8 +39,12 @@ public: bool get_srgb_conversion() const { return srgb_conversion; } + void set_resource_manager(ResourceManager *); + protected: + Mesh *create_mesh(const std::string &); Texture2D *create_texture2d(const std::string &); + Program *create_program(const std::string &); }; } // namespace GL