Próbowałem wszystkiego, od SDL do DevIL, i wszystkie one zawiodły z różnych powodów.
Uszkodzenia SDL z różnych powodów, a DevIL ma jakiś dziwny problem, w którym nawet po włączeniu IL/ilut.h i łączeniu wszystkiego, a także w innych nagłówkach, nie definiuje funkcji, które muszę załadować do obrazu opengl textures (coś o USE_OPEN_GL nie jest definiowane). Proszę o inne libowanie do ładowania map bitowych lub png w formacie, który można łatwo przekonwertować na opengl lub rozwiązać problem diabła.
dziękiC++ platforma Image Loader dla OpenGL
Odpowiedz
nie trzeba Ilut robić, co chcesz. możesz po prostu użyć ilGetData() i glTexImage2d()
Ładowanie obrazów bitmap (.bmp) i netpbm (.pbm, pgm, .pnm) jest dość banalne, ponieważ przechowują nieskompresowane obrazy. Aby załadować pliki PNG, użyj libpng. Aby załadować pliki JPEG, użyj libjpeg. W przypadku innych typów obrazów użyj odpowiedniej biblioteki. Jest dobra zmiana, że uderzenie "lib" na początek nazwy obrazu da ci taką bibliotekę, np. libtiff, libtga, itp.
Po załadowaniu i rozpakowaniu danych surowego obrazu, załadowanie go do tekstury OpenGL jest tylko kwestią wywołania glTexImage2D()
z odpowiednimi parametrami i kilkoma innymi zmianami stanu GL (np. jak zrobić mipmapping).
Image Magick z powiązaniami C lub C++?
LodePNG jest bardzo kompaktowa ładowarka PNG bez zależności.
Komentuj swoje wrażenia z DevIL - działa bezbłędnie dla mnie i wielu innych osób. Dlaczego nie spróbować ponownie, aby rozwiązać problemy z budowaniem? - nie powinno być zbyt trudne)
Gleba jest przyzwoitą lekką, z której korzystałem wcześniej. Właściwie to specjalizuje się również w ładowaniu tekstur OpenGL.
Możesz także spróbować FreeImage library. Obsługuje ładowanie różnych typów obrazów i jest funkcjonalnie podobny do Devil, może pracować dla ciebie po wyjęciu z pudełka.
I o twoim problemie z Devil, nie musisz budować ilu ani ilut bibliotek, aby DevIL działał. Polecam samodzielne zarządzanie obiektami teksturowymi OpenGL, w tym przesyłanie danych obrazu do strony OpenGL.
Zarówno libpng, jak i libjpeg mogą być dość zniechęcające do budowania & - nic dziwnego, że istnieje wiele rodzajów bibliotek otokowych dla obu.
Bardzo prostym i minimalistycznym nie-nonsense dla jpg/png (i kilku innych rzeczy) bez zależności w jednym pliku C jest stb_image Seana Barretta.c, jeśli chcesz po prostu załadować kilka plików graficznych dodaje absolutnie minimalny narzut do swojego programu i jest prosta w obsłudze:
młody, ale jeszcze na tyle wielka SFML może być jeden szukasz. Używałem go do wielu projektów i wszystkie z nich działały dobrze na wszystkich moich platformach (Win7 i Ubuntu).
- 1. Pamięć podręczna Universal Image Loader
- 2. Łączenie CoverFlow i Universal Image Loader
- 3. Jak korzystać z Universal Image Loader
- 4. Android: Universal Image Loader Załaduj duży obraz
- 5. Android Universal Image Loader - jak ustawić specyfikację poprawnie?
- 6. Jak ustawić niestandardowy program do pobierania w Universal Image Loader?
- 7. Korzystanie z programu Universal Image Loader do lokalnego ładowania zasobów
- 8. Android Studio fail add libs Universal Image Loader
- 9. Sprawdź, czy obraz jest w pamięci podręcznej - Universal Image Loader
- 10. Dlaczego platforma C jest zależna?
- 11. Obsługa zależności C++ (platforma krzyżowa)
- 12. Czy Universal Image Loader dla Androida działa z obrazami z sqlite db?
- 13. Google+ Platforma dla Androida - getCurrentPerson
- 14. Qt C++ Biblioteka dla Windows i OpenGL
- 15. Visual Studio 2008 C++ nie platforma x64
- 16. Łatwe ramy dla shaderów OpenGL w C/C++
- 17. Platforma sprawdzania poprawności w języku C#?
- 18. Blastowa platforma LLVM
- 19. EF migracji dla Universal platforma Windows
- 20. Pokaż nieokreślony pasek postępu podczas ładowania obrazu przy użyciu programu Universal Image Loader
- 21. Android GoogleMap 2 aktualizuje informacje dynamicznie w InfoWindow z ImageView poprzez Universal Image loader
- 22. Obrazy nie są buforowane lokalnie (przy użyciu programu Universal Image Loader) - czas ładowania wolnego obrazu
- 23. C# Windows Form Transparent Background Image
- 24. Korzystanie Loader API 8
- 25. Loader onLoadFinished() nie nazywa
- 26. Jak naprawdę działa platforma .Net?
- 27. Webpack resolve.root i loader TypeScript
- 28. Image Magick: Optymalizacja obrazu dla stron internetowych
- 29. Narzędzia matematyczne OpenGL dla Pythona?
- 30. Otoczka RAII dla obiektów OpenGL
Myślę, że to powinna być właściwa odpowiedź. Jest to lekka biblioteka z niesamowicie prostym interfejsem API C i bazuje głównie na stb_image.c (który jest absolutnie spartańskim, lekkim, ładowanym obrazem), ale jest czystszy. – bigD