GLI

gli.png

何が出来る?

ktx,ddsファイルの読み書き。

2Dデータを読み込んで渡すコード

#include <gli/texture.hpp>//class texture
#include <gli/load.hpp>
#include <gli/gl.hpp>
 
            gli::texture tex = gli::load(imgpath);
            if (tex.empty()) {
                cout << "texture is empty"<< imgpath << endl;
                return;
            }
            gli::gl gl(gli::gl::PROFILE_GL33);
            gli::gl::format format = gl.translate(tex.format(), tex.swizzles());
            glm::ivec3 size =tex.extent(0);
            glGenTextures(1, &texureId);
            glBindTexture(GL_TEXTURE_2D, texureId);
            if (gli::is_compressed(tex.format())) {
                glCompressedTexImage2D(GL_TEXTURE_2D,0, format.Internal, size.x, size.y,0, tex.size(0), tex.data(0, 0, 0));
            }
            else {
                glTexImage2D(GL_TEXTURE_2D, 0, format.Internal, size.x, size.y, 0, format.External, format.Type, tex.data(0, 0, 0));
            }
            glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
            glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
            glPixelStorei(GL_UNPACK_ALIGNMENT, 1);

dds

サポートサイト Wikidot.com dds