Görüntüleri dokulara, Linux, C ve OpenGl'ye yüklemek için kütüphane


9

Dosyaları dosyalardan OpenGL dokularına yüklemek için Linux için basit, bağımsız C kütüphanesi arıyorum. Lisans oldukça liberal olmalıdır: zlib, bsd, mit ya da başka bir şey. TOPRAK buldum , ancak uzun süredir güncellenmedi. Başka bir şey var mı yoksa kendim yazmak zorunda mıyım?

PS: glfw kullanıyorum. Görüntüleri yüklemek için yalnızca kullanımdan kaldırılmış işlevler vardır.

Yanıtlar:


5

Çoğu görüntü yüklemesi için STB Image kullanıyorum . Küçük bir öz, png ve diğer dosya formatlarının uygulanmasına bağlı dizeler içermiyordu.


3
SOIL, stb_image etrafında hafif bir ambalajdır.

Ah, bunun farkında değildim.
geçersiz

11

TOPRAK harika çalışıyor. "Uzun zamandır" güncellenmemişse kimin umurunda? Bu sadece kararlı ve iyi anlaşılmış olduğu anlamına gelir.

(Aslında 2008'de güncellendi, ki bu çok uzun zaman önce değil.)


Bunu şimdi görenler için - SOIL iOS'ta çalışmıyor gibi görünüyor, bu nedenle taşınabilirlik hedefinizse, stb_image'i doğrudan kullanmak daha iyi bir seçenek olabilir.
Ed Ropple

2

Göz at şeytan .


DevIL LGPL altında. Bu benim için fazla kısıtlayıcı değil.
Michas

1
Orijinal kaynak kodunu değiştirmediğiniz sürece, bir LGPL kütüphanesine bağlayabileceğinizi ve ana kodunuzu ticari amaçlar için kapalı / özel / kullanılmış tutabileceğinizi unutmayın.
r2d2rigo

1
Biliyorum. Ancak her şeyi tek bir dosyaya bağlamak istiyorum.
Michas

2

FreeImage'a göz atın . Çift lisanslıdır, GPL veya liberal FreeImage lisansını seçebilirsiniz. SOIL'dan çok daha fazla görüntü formatını destekler ve geliştirme aktiftir.

Kütüphanenin kendisi C ++ ile yazılmıştır, ancak ANSI C arayüzüne sahiptir.

Girişinden:

ANSI C arayüzü sayesinde FreeImage, C, C ++, VB, C #, Delphi, Java dahil birçok dilde ve ayrıca Perl, Python, PHP, TCL veya Ruby gibi yaygın komut dillerinde kullanılabilir.


Görünüşe göre lisans yeterince liberal değil.
Michas

@Michas Size gereken tek şey kütüphanenin kullanımını kabul etmektir, aksi takdirde kaynakları değiştirmek ve ticari projelerde kullanmakta serbestsiniz. Ya da belki de lisansı yeterince okumadım?
Oskar N.Feb

Bazı kaynak kodlarını yayınlamak zorunda kalabilirim.
Michas

Bu fikri nereden aldığınızdan emin değilim ... aslında FreeImage kütüphanesini değiştirecek misiniz (ipucu: muhtemelen değil; kendinize karşı dürüst olun)?
ChrisE

Bu pratik bir gereklilik değildir. Biliyorum. Daha liberal bir lisansla daha mutlu olurdum.
Michas

0

Aptal üretilir CEGUI adamlar.

PNG, TGA, JPG vb. Yüklemeyi destekliyorum. Ve bir MIT lisansı ile piyasaya sürüldü.

Kütüphane C ++ ile yazıldığı için kendinize bir C sarıcı yazmanız gerekir.


Sorun her şeyi bir C derleyicisi ile derlemek istiyorum.
Michas

0

Çok sayıda formatı okumak zorunda değilseniz, kendi yükleyici kodunuzu yazmayı düşünün. Doğrudan libjpeg ve libpng kullanıyorum ve kullanımı oldukça kolay. Her ikisinin de temelde RGBA verilerinin bir tarama çizgisini getiren çok basit işlevleri vardır, bunu bir diziye koyun ve ardından OpenGL'ye yükleyin. Her ikisinin de çok faydalı ve anlaşılır örnek programları vardır.

Yine de diğer formatlarla ilgili deneyimim yok. Ama dürüst olmak gerekirse, PNG + JPEG ihtiyaçlarımızın% 100'ünü karşılar (önemsiz veya hobi seviyesi değildir - bkz. Http://www.mysterystudio.com )

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.