Szukam prostej, niezależnej biblioteki C dla systemu Linux do ładowania obrazów z plików do tekstur OpenGL. Licencja powinna być dość liberalna: zlib, bsd, mit czy coś. Znalazłem GLEBĘ , jednak nie była ona aktualizowana przez długi czas. Czy jest coś jeszcze, czy muszę pisać własne?
PS Używam glfw. Istnieją tylko przestarzałe funkcje do ładowania zdjęć.
GLEBA działa świetnie. Kogo to obchodzi, jeśli nie zostało zaktualizowane przez „długi czas”? Oznacza to po prostu, że jest stabilny i dobrze zrozumiany.
(W rzeczywistości został zaktualizowany w 2008 r., Co wcale nie tak dawno temu.)
źródło
Spójrz na DevIL .
źródło
Sprawdź FreeImage . Jest podwójnie licencjonowany, możesz wybrać GPL lub liberalną licencję FreeImage. Obsługuje znacznie więcej formatów obrazu niż SOIL, a programowanie jest aktywne.
Sama biblioteka jest napisana w C ++, ale ma interfejs ANSI C.
Od jego wprowadzenia:
źródło
Silly jest produkowany przez facetów CEGUI .
Obsługuję ładowanie PNG, TGA, JPG itp. I jest wydany z licencją MIT.
Musisz sam napisać opakowanie C, ponieważ biblioteka jest napisana w C ++.
źródło
Jeśli nie musisz czytać wielu formatów, rozważ napisanie własnego kodu modułu ładującego. Używam libjpeg i libpng bezpośrednio i są one dość łatwe w użyciu. Oba mają bardzo proste funkcje, które w zasadzie pobierają linię danych RGBA, po prostu umieszczają ją w tablicy, a następnie przesyłają do OpenGL. Oba mają bardzo przydatne i proste programy przykładowe.
Jednak nie mam doświadczenia z innymi formatami. Ale szczerze mówiąc, PNG + JPEG pokrywają 100% naszych potrzeb (które nie są trywialne ani hobbystyczne - patrz http://www.mysterystudio.com )
źródło