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();
void set_default_texture_filter(TextureFilter);
+ /** 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);
+
+ 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