Ich suche nach einer einfachen, in sich geschlossenen C-Bibliothek für Linux, um Bilder aus Dateien in OpenGL-Texturen zu laden. Die Lizenz sollte ziemlich liberal sein: zlib, bsd, mit oder so. Ich habe SOIL gefunden , es wurde jedoch schon lange nicht mehr aktualisiert. Gibt es noch etwas oder muss ich mein eigenes schreiben?
PS Ich benutze glfw. Es gibt nur veraltete Funktionen zum Laden von Bildern.
SOIL funktioniert super . Wen interessiert es, wenn es seit "langer Zeit" nicht mehr aktualisiert wurde? Das bedeutet nur, dass es stabil und gut verstanden ist.
(Es wurde tatsächlich im Jahr 2008 aktualisiert, was noch nicht lange her ist.)
quelle
Schau dir DevIL an .
quelle
Schauen Sie sich FreeImage an . Es ist doppelt lizenziert. Sie können entweder die GPL oder die liberale FreeImage-Lizenz wählen. Es unterstützt weit mehr Bildformate als SOIL und die Entwicklung ist aktiv.
Die Bibliothek selbst ist in C ++ geschrieben, verfügt jedoch über eine ANSI C-Schnittstelle.
Aus seiner Einführung:
quelle
Silly wird von den CEGUI- Jungs produziert.
Ich unterstütze das Laden von PNG, TGA, JPG usw. Und es wird mit einer MIT-Lizenz veröffentlicht.
Sie müssten selbst einen C-Wrapper schreiben, da die Bibliothek in C ++ geschrieben ist.
quelle
Wenn Sie nicht viele Formate lesen müssen, sollten Sie Ihren eigenen Loader-Code schreiben. Ich benutze libjpeg und libpng direkt und sie sind ziemlich einfach zu bedienen. Beide haben sehr einfache Funktionen, die im Wesentlichen eine Scanline von RGBA-Daten abrufen, diese einfach in ein Array einfügen und dann in OpenGL hochladen. Beide haben sehr nützliche und unkomplizierte Beispielprogramme.
Ich habe jedoch keine Erfahrung mit anderen Formaten. Aber um ehrlich zu sein, decken PNG + JPEG 100% unserer Bedürfnisse ab (die weder trivial noch hobbyistisch sind - siehe http://www.mysterystudio.com ).
quelle