]> git.tdb.fi Git - libs/gl.git/blobdiff - source/texture.cpp
Use ARB_texture_storage for defining texture storage
[libs/gl.git] / source / texture.cpp
index 97a73d9e6f59c81b3f8ca5f85f55219a02476da7..b528ca30f5b6ccaee0ac81c0e78e86226f345a1a 100644 (file)
@@ -78,7 +78,7 @@ Texture::~Texture()
 
 DataType Texture::get_alloc_type(PixelFormat fmt)
 {
-       return (fmt==DEPTH_COMPONENT ? UNSIGNED_SHORT : UNSIGNED_BYTE);
+       return (get_base_pixelformat(fmt)==DEPTH_COMPONENT ? UNSIGNED_SHORT : UNSIGNED_BYTE);
 }
 
 void Texture::update_parameter(int mask) const
@@ -290,10 +290,10 @@ void Texture::Loader::init()
 
        add("external_image", &Loader::external_image);
        add("filter", &Loader::filter);
-       add("max_anisotropy", &Loader::max_anisotropy);
        add("generate_mipmap", &Loader::generate_mipmap);
        add("image_data", &Loader::image_data);
        add("mag_filter", &Loader::mag_filter);
+       add("max_anisotropy", &Loader::max_anisotropy);
        add("min_filter", &Loader::min_filter);
        add("wrap",       &Loader::wrap);
        add("wrap_r",     &Loader::wrap_r);
@@ -364,5 +364,12 @@ void Texture::Loader::wrap_t(TextureWrap w)
        obj.set_wrap_t(w);
 }
 
+
+bool is_mipmapped(TextureFilter filter)
+{
+       return (filter==NEAREST_MIPMAP_NEAREST || filter==NEAREST_MIPMAP_LINEAR ||
+               filter==LINEAR_MIPMAP_NEAREST || filter==LINEAR_MIPMAP_LINEAR);
+}
+
 } // namespace GL
 } // namespace Msp