Я ищу простую автономную библиотеку C для Linux для загрузки изображений из файлов в текстуры OpenGL. Лицензия должна быть довольно либеральной: zlib, bsd, mit или что-то в этом роде. Я нашел ПОЧВУ , но она давно не обновлялась. Есть ли что-то еще, или я должен написать свой собственный?
PS я использую glfw. Есть только устаревшие функции для загрузки изображений.
ПОЧВА прекрасно работает. Кого волнует, если это не было обновлено в течение "долгого времени"? Это просто означает, что он стабилен и понятен.
(На самом деле он был обновлен в 2008 году, что совсем недавно.)
источник
Посмотрите на DevIL .
источник
Проверьте FreeImage . Он имеет двойную лицензию, вы можете выбрать либо GPL, либо либеральную лицензию FreeImage. Он поддерживает гораздо больше форматов изображений, чем SOIL, и разработка активна.
Сама библиотека написана на C ++, но имеет интерфейс ANSI C.
Из его введения:
источник
Глупый продюсеры CEGUI .
Я поддерживаю загрузку PNG, TGA, JPG и т. Д. И он выпущен с лицензией MIT.
Вы должны были бы написать обертку C самостоятельно, поскольку библиотека написана на C ++.
источник
Если вам не нужно читать много форматов, подумайте о написании собственного кода загрузчика. Я использую libjpeg и libpng напрямую, и они довольно просты в использовании. Обе имеют очень простые функции, которые по сути извлекают строку сканирования данных RGBA, просто помещают ее в массив и затем загружают в OpenGL. Оба имеют очень полезные и простые примеры программ.
У меня нет опыта работы с другими форматами. Но, если честно, PNG + JPEG покрывает 100% наших потребностей (которые не являются ни тривиальными, ни увлеченными - см. Http://www.mysterystudio.com )
источник