X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcore%2Ftexture.cpp;h=54577aacd55e06f389361f0eda96305b42a63057;hb=be92396630a2065e43c21d9d1904e97014844cff;hp=be825e7ff231f118356897dcc6036365c178be32;hpb=57ca8f2bd18525d80ed6ad5d3f72e57901162d55;p=libs%2Fgl.git diff --git a/source/core/texture.cpp b/source/core/texture.cpp index be825e7f..54577aac 100644 --- a/source/core/texture.cpp +++ b/source/core/texture.cpp @@ -2,23 +2,25 @@ #include "error.h" #include "resourcemanager.h" #include "texture.h" +#include "texture1d.h" +#include "texture2d.h" +#include "texture2darray.h" +#include "texture3d.h" +#include "texturecube.h" using namespace std; namespace Msp { namespace GL { -Texture::Texture(unsigned t, ResourceManager *m): +Texture::Texture(unsigned t): TextureBackend(t), format(NO_PIXELFORMAT), storage_fmt(format), swizzle(NO_SWIZZLE), use_srgb_format(false), auto_gen_mipmap(false) -{ - if(m) - set_manager(m); -} +{ } void Texture::set_format(PixelFormat fmt) { @@ -64,6 +66,22 @@ void Texture::load_image(const string &fn, unsigned lv) image(img, lv); } +Texture::GenericLoader::TypeRegistry &Texture::get_texture_registry() +{ + static GenericLoader::TypeRegistry registry; + static bool initialized = false; + if(!initialized) + { + initialized = true; + registry.register_type("1d"); + registry.register_type("2d"); + registry.register_type("3d"); + registry.register_type("2d_array"); + registry.register_type("cube"); + } + return registry; +} + Texture::Loader::Loader(Texture &t, Collection *c): CollectionObjectLoader(t, c),