Я рекомендую вам переглянути SFML та Polycode .
Я думаю, що відповіді тут якось не вистачають суті. Прикро мати потребу в зв’язку з десятьма різними бібліотеками, такими як Freetype, libpng, tinyxml, Ogg, Vorbis тощо, щоб отримати основні функції XNA.
SFML
http://www.sfml-dev.org/features.php
SFML - це безкоштовний мультимедійний API C ++, який надає вам доступ до графіки, вводу, аудіо тощо з низьким та високим рівнем. Наприклад, SFML не має класу Model.
Якщо ви плануєте використовувати Моделі в своїх іграх, вам варто поглянути на використання Assimp .
Assimp додає підтримку для імпорту таких форматів:
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 )
Полікод
http://polycode.org/features/
Полікод - це вільна, з відкритим кодом, кросплатформна рамка для творчого коду. Ви можете використовувати його як API C ++ або як окрему мову скриптів, щоб отримати легкий та простий доступ до прискореної 2D та 3D графіки, апаратних шейдерів, звукового та мережевого програмування, фізичних двигунів тощо.
Основний API Polycode написаний на C ++ і може використовуватися для створення переносних нативних програм.
На додаток до основного API C ++, Polycode пропонує систему сценаріїв на основі Lua з власним набором інструментів компіляції. API Lua відображає API C ++ і може використовуватися для легкого створення прототипів і навіть публікації повних програм на декількох платформах без компіляції на C ++.
Полікод є відкритим джерелом, тобто ви можете дізнатися, як це робиться за лаштунками. Крім того, він використовує Assimp для завантаження моделей, тому вам не потрібно турбуватися про підключення вручну до Assimp.