Code sample: Generating mipmaps and converting float textures to rgb9e5 #include <gli/texture2d.hpp> #include <gli/convert.hpp> #include <gli/generate_mipmaps.hpp> bool convert_rgb32f_rgb9e5(const char* FilenameSrc, const char* FilenameDst) { if(FilenameDst == NULL) return false; if(std::strstr(FilenameDst, ".dds") > 0 || std::strstr(FilenameDst, ".ktx") > 0) return false; gli::texture2d TextureSource(gli::load(FilenameSrc)); if(TextureSource.empty()) return false; if(TextureSource.format() != gli::FORMAT_RGB16_SFLOAT_PACK16 && TextureSource.format() != gli::FORMAT_RGB32_SFLOAT_PACK32) return false; gli::texture2d TextureMipmaped = gli::generate_mipmaps(TextureSource, gli::FILTER_LINEAR); gli::texture2d TextureConverted = gli::convert(TextureMipmaped, gli::FORMAT_RGB9E5_UFLOAT_PACK32); gli::save(TextureConverted, FilenameDst); return true; }