#include "animation.h"
#include "armature.h"
#include "camera.h"
+#include "error.h"
#include "font.h"
#include "keyframe.h"
#include "light.h"
void init_shaderlib(DataFile::BuiltinSource &);
void init_builtin_data(DataFile::BuiltinSource &);
-Resources::Resources():
+Resources *Resources::global_resources = 0;
+
+Resources::Resources(bool set_as_global):
default_tex_filter(Texture::can_generate_mipmap() ? LINEAR_MIPMAP_LINEAR : LINEAR),
default_tex_anisotropy(1.0f),
srgb_conversion(false),
.notify(&Resources::set_debug_name<Texture2DArray>);
add_source(get_builtins());
+
+ if(set_as_global && !global_resources)
+ global_resources = this;
+}
+
+Resources::~Resources()
+{
+ if(this==global_resources)
+ global_resources = 0;
+}
+
+Resources &Resources::get_global()
+{
+ if(!global_resources)
+ throw invalid_operation("no global resources");
+ return *global_resources;
}
const DataFile::CollectionSource &Resources::get_builtins()