Estou procurando uma biblioteca C simples e independente para Linux para carregar imagens de arquivos em texturas OpenGL. A licença deve ser bastante liberal: zlib, bsd, mit ou algo assim. Encontrei SOIL , no entanto, ele não é atualizado há muito tempo. Existe algo mais, ou eu tenho que escrever o meu?
PS eu uso glfw. Existem apenas funções obsoletas para carregar imagens.
SOLO funciona muito bem. Quem se importa se não for atualizado há um "longo tempo"? Isso significa apenas que é estável e bem compreendido.
(Na verdade, foi atualizado em 2008, o que não faz muito tempo.)
fonte
Dê uma olhada no DevIL .
fonte
Confira o FreeImage . É com licença dupla, você pode escolher a GPL ou a licença liberal do FreeImage. Ele suporta muito mais formatos de imagem que SOIL e o desenvolvimento está ativo.
A biblioteca em si é escrita em C ++, mas possui uma interface C ANSI.
Desde a sua introdução:
fonte
Parvo é produzido o pessoal da CEGUI .
Suporta o carregamento de PNG, TGA, JPG, etc. E é lançado com uma licença MIT.
Você precisaria escrever um wrapper C, pois a biblioteca é escrita em C ++.
fonte
Se você não precisar ler muitos formatos, considere escrever seu próprio código do carregador. Eu uso libjpeg e libpng diretamente e eles são bastante fáceis de usar. Ambos têm funções muito simples que buscam essencialmente uma linha de varredura de dados RGBA, basta colocá-lo em uma matriz e depois fazer o upload para o OpenGL. Ambos têm programas de exemplo muito úteis e diretos.
Não tenho experiência com outros formatos, no entanto. Mas, para ser sincero, PNG + JPEG cobrem 100% de nossas necessidades (que não são triviais nem amadores - consulte http://www.mysterystudio.com )
fonte