X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fresources.h;h=0b37449978761e4e963889623e0af15c0a848b03;hb=47853d7a557bf81131512832a9e531cb04d273ca;hp=51adec4a63c87d7e306a5b694542f77604e5b89b;hpb=a1eb8711ba225bb4423868c50369ad5592465171;p=libs%2Fgl.git diff --git a/source/resources.h b/source/resources.h index 51adec4a..0b374499 100644 --- a/source/resources.h +++ b/source/resources.h @@ -7,6 +7,10 @@ namespace Msp { namespace GL { +class Material; +class Mesh; +class Program; +class ResourceManager; class Texture2D; /** @@ -17,12 +21,17 @@ 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. */ @@ -30,8 +39,13 @@ public: 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