J'ai tout essayé de SDL en diable, et ils ont tous échoué pour diverses raisons.
SDL Segfault pour diverses raisons, et le diable a un problème étrange où j'inclus il / ilut.h et tout lier, et y compris les autres en-têtes, il ne définit pas les fonctions dont j'ai besoin pour charger des images dans des textures OpenGL (quelque chose à propos de Utilisez_open_gl ne pas être défini). Je demande à tout autre libéré pour charger des bitmaps ou PNG dans un format, je peux facilement convertir en openGL ou une solution au problème du diable.
merci p>
9 Réponses :
Vous n'en avez pas besoin pour faire ce que vous voulez. Vous pouvez simplement utiliser getdata () et GLTEXIMAGE2D () P>
Chargement d'images bitmaps (.bmp) et de NetPBM (.pbm, pgm, .pnm) est assez triviale, car ils stockent les images non compressées. Pour charger les pngs, utilisez libpng . Pour charger des JPEG, utilisez libjpeg . Pour les autres types d'images, utilisez une bibliothèque appropriée. Il y a un bon changement qui gifle sur 'Lib' au début du nom de l'image vous donnera une telle bibliothèque, par ex. libtiff, libtga, etc. p>
Une fois que vous avez chargé et non compressé des données d'image brute, le charger dans une texture OpenGL est une question d'appeler GLTEXIMAGE2D () code>
avec les bons paramètres, et un couple d'autres changements d'état GL (par exemple, comment faire des mipmapping ). p>
Image Magick avec les liaisons C ou C ++? P>
lodepng est un chargeur PNG hautement compact sans dépendances. P >
Commentez votre expérience avec Diable - ça marche parfaitement pour moi et beaucoup d'autres. Pourquoi ne pas essayer à nouveau de résoudre vos problèmes de construction? - ne devrait pas être trop dur) p>
Le sol est un léger léger décent que j'ai utilisé auparavant. Il est en fait spécialisé pour charger des textures opengl aussi. P>
Je pense que cela devrait être la bonne réponse. C'est une bibliothèque légère avec une API C incroyablement simple et elle repose principalement sur STB_IMAGE.C (qui est le code de chargement d'image léger Spartan absolu) mais c'est plus propre.
Vous pouvez également essayer FreeImage Library . Il prend en charge la charge de différents types d'image et est fonctionnellement similaire au diable, peut travailler hors de la boîte pour vous. P>
Et à propos de votre problème de diable, vous n'avez pas à construire des bibliothèques ILU ou Ilut pour faire fonctionner le diable. Je vous recommanderais de gérer vous-même les objets de texture OpenGL, y compris le téléchargement de données d'image sur OpenGL Côté. P>
Libpng et Libjpeg peut être plutôt décourageant à construire et à utiliser - pas étonnant qu'il y ait toutes sortes de bibliothèques d'emballage pour les deux. p>
Un chargeur de non-non-sens très simple et minimal pour JPG / PNG (et une autre chose aswell) sans dépendances dans un seul fichier C est Sean Barrett's STB_IMAGE.C, si vous souhaitez simplement charger certains fichiers d'image, il ajoute absolument minimal Les frais généraux de votre programme et sont simples à utiliser: p>
Merci pour ce lien, c'est génial
Jeune mais très bon assez bon SFML pourrait être celui que vous recherchez. Je l'ai utilisé pour de nombreux projets et tous ont bien fonctionné sur toutes mes plates-formes (Win7 et Ubuntu). P>