X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Ftexture3d.cpp;fp=source%2Ftexture3d.cpp;h=5c09f1ea4249919bf526703365c730c48b11d4e7;hp=d22070e680e9d67272a0a7e47d71ffd8aa1a7233;hb=a8a04ddd95e57a8f103c04dba317addc32866689;hpb=2ed67ce59027c34f0ae78118d82c70eb1577e949 diff --git a/source/texture3d.cpp b/source/texture3d.cpp index d22070e6..5c09f1ea 100644 --- a/source/texture3d.cpp +++ b/source/texture3d.cpp @@ -123,52 +123,6 @@ void Texture3D::sub_image(unsigned level, int x, int y, int z, unsigned wd, unsi generate_mipmap(); } -void Texture3D::load_image(const string &fn, int dp) -{ - Graphics::Image img; - img.load_file(fn); - - unsigned w = img.get_width(); - unsigned h = img.get_height(); - unsigned d = 1; - - if(dp==-1) - { - if(h%w) - throw incompatible_data("Texture3D::load_image"); - d = h/w; - h = w; - } - else if(dp==-2) - { - for(d=h; d*d>h; d>>=2) ; - for(; d*d0) - { - d = dp; - if(h%d) - throw incompatible_data("Texture3D::load_image"); - h /= d; - } - else - throw invalid_argument("Texture3D::load_image"); - - PixelFormat fmt = pixelformat_from_graphics(img.get_format()); - if(width==0) - storage(storage_pixelformat_from_graphics(img.get_format()), w, h, d); - else if(w!=width || h!=height || d!=depth) - throw incompatible_data("Texture3D::load_image"); - - PixelStore pstore = PixelStore::from_image(img); - BindRestore _bind_ps(pstore); - - image(0, fmt, UNSIGNED_BYTE, img.get_data()); -} - void Texture3D::image(const Graphics::Image &img, unsigned lv, bool srgb) { unsigned w = img.get_width();