X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbackends%2Fopengl%2Ftexture2d_backend.cpp;h=2f7e503b7d42a9aec7e8055a38fa2446e5805a0a;hb=4365124bd39bd6edbda6eaef64ec72a1a10565f8;hp=71a998dcd31187585fd266c1c5e4b19d1369917d;hpb=160e9eea29bd10034733d59507fa1bcca36be401;p=libs%2Fgl.git diff --git a/source/backends/opengl/texture2d_backend.cpp b/source/backends/opengl/texture2d_backend.cpp index 71a998dc..2f7e503b 100644 --- a/source/backends/opengl/texture2d_backend.cpp +++ b/source/backends/opengl/texture2d_backend.cpp @@ -31,8 +31,8 @@ public: }; -OpenGLTexture2D::OpenGLTexture2D(ResourceManager *m): - Texture(GL_TEXTURE_2D, m) +OpenGLTexture2D::OpenGLTexture2D(): + Texture(GL_TEXTURE_2D) { } void OpenGLTexture2D::allocate() @@ -41,6 +41,9 @@ void OpenGLTexture2D::allocate() unsigned height = static_cast(this)->height; unsigned levels = static_cast(this)->levels; + if(!id) + create(); + GLenum gl_fmt = get_gl_pixelformat(storage_fmt); if(ARB_texture_storage) { @@ -144,7 +147,7 @@ bool OpenGLTexture2D::AsyncLoader::process() } if(!texture.id) - texture.generate_id(); + texture.create(); unsigned w = image.get_width(); unsigned h = image.get_height();