j'ai besoin de porter mon projet de jeu depuis Android (écrit en C, OpenGL ES 2.0, grâce à NDK) vers les plateformes Windows et Linux. Bien sûr, je devrai réécrire du code dépendant de la plate-forme, mais maintenant je suis resté avec la question de savoir quelle bibliothèque pour créer OpenGL et utiliser le handle d'entrée.
Juste une recherche rapide sur Google me donne 3 candidats:
1) Freeglut - réécrit et gratuit bon vieux GLUT.
2) SDL - le plus connu d'une bibliothèque, utilisé dans de nombreux jeux.
3) GLFW - une sorte de nouveau, mais simple et fonctionnel.
Je viens tout juste de découvrir PC et je ne vois aucune différence significative entre eux. Pouvez-vous m'aider lequel choisir? J'ai clairement besoin d'une entrée de souris / clavier de base et de la création d'un contexte OpenGL, j'utiliserai également GLEW pour accéder à OpenGL moderne avec facilité.
Réponses:
GLFW est moderne et a une portée très bien définie . Il est également en développement très actif.
SDL de l'autre côté est solide comme le roc et possède de nombreuses fonctionnalités dans différentes étendues mais manque quelque peu dans toutes (par exemple: SDL peut faire de l'audio, mais vous préférerez peut-être utiliser OpenAL car il est de loin supérieur en la matière). Il est à noter que SDL a été porté sur de nombreuses plates-formes différentes, contrairement à GLFW qui n'est destiné qu'aux plates-formes de bureau (win / linux / mac).
GLUT , eh bien, devrait être évité . Il n'y a tout simplement rien de ce qui le rend bon.
À mon avis, en tant que perfectionniste, GLFW est le meilleur choix. Parce qu'il fait exactement ce que l'on veut, rien de moins rien de plus. Le développement très actif est également un bon signe pour les projets à long terme car cela signifie généralement que des bugs seront corrigés, que de nouvelles fonctionnalités seront ajoutées, qu'il suivra les normes les plus récentes et qu'il ne sera pas abandonné de près. Ce n'est pas important pour un portage rapide ou un jeu de 6 mois, mais pour un moteur ou une bibliothèque que vous souhaitez réutiliser, je garderais cela à l'esprit.
la source