Je recommanderais que vous regardiez SFML et Polycode .
Je pense que les réponses ici manquent un peu. Il est ennuyeux de devoir se connecter à dix bibliothèques différentes, telles que Freetype, libpng, tinyxml, Ogg, Vorbis, etc., pour obtenir des fonctionnalités XNA de base.
SFML
http://www.sfml-dev.org/features.php
SFML est une API C ++ multimédia gratuite qui vous offre un accès de bas et de haut niveau aux graphiques, aux entrées, à l'audio, etc. Dans un sens, son genre est similaire à XNA mais ne vous tient pas autant la main. Par exemple, SFML n'a pas de classe Model.
Si vous prévoyez d'utiliser des modèles dans vos jeux, vous devriez envisager d'utiliser Assimp .
Assimp ajoute la prise en charge de l'importation des formats suivants:
Collada ( .dae )
Blender 3D ( .blend )
3ds Max 3DS ( .3ds )
3ds Max ASE ( .ase )
Wavefront Object ( .obj )
Stanford Polygon Library ( .ply )
AutoCAD DXF ( .dxf )
LightWave ( .lwo )
Modo ( .lxo )
Stereolithography ( .stl )
AC3D ( .ac )
Milkshape 3D ( .ms3d )
Quake I Mesh ( .mdl )
Quake II Mesh ( .md2 )
Quake III Mesh ( .md3 )
Quake III BSP ( .pk3 )
Biovision BVH ( .bvh )
DirectX X ( .x )
BlitzBasic 3D ( .b3d )
Quick3D ( .q3d,.q3s )
Ogre XML ( .mesh.xml )
Irrlicht Mesh ( .irrmesh )
Neutral File Format ( .nff )
Sense8 WorldToolKit ( .nff )
Object File Format ( .off )
PovRAY Raw ( .raw )
Terragen Terrain ( .ter )
3D GameStudio ( .mdl )
3D GameStudio Terrain ( .hmp )
Izware Nendo ( .ndo )
Polycode
http://polycode.org/features/
Polycode est un framework multiplateforme gratuit et open source pour le code créatif. Vous pouvez l'utiliser comme API C ++ ou comme langage de script autonome pour obtenir un accès facile et simple aux graphiques 2D et 3D accélérés, aux shaders matériels, à la programmation du son et du réseau, aux moteurs physiques et plus encore.
L'API principale de Polycode est écrite en C ++ et peut être utilisée pour créer des applications natives portables.
En plus de l'API C ++ de base, Polycode propose un système de script basé sur Lua avec son propre ensemble d'outils de compilation. L'API Lua reflète l'API C ++ et peut être utilisée pour créer facilement des prototypes et même publier des applications complètes sur plusieurs plateformes sans compiler C ++.
Polycode est open source, ce qui signifie que vous pouvez apprendre comment les choses se font dans les coulisses. En outre, il utilise Assimp pour charger des modèles, vous n'avez donc pas à vous soucier de la liaison manuelle à Assimp.