Ich würde empfehlen, dass Sie sich SFML und Polycode ansehen .
Ich denke, die Antworten hier verpassen irgendwie den Punkt. Es ist ärgerlich, sich mit zehn verschiedenen Bibliotheken wie Freetype, libpng, tinyxml, Ogg, Vorbis usw. verbinden zu müssen, um einige grundlegende XNA-Funktionen zu erhalten.
SFML
http://www.sfml-dev.org/features.php
SFML ist eine kostenlose Multimedia-C ++ - API, mit der Sie auf niedriger und hoher Ebene auf Grafiken, Eingaben, Audio usw. zugreifen können. In gewisser Weise ähnelt es XNA, hält aber nicht so viel von Ihrer Hand. Zum Beispiel hat SFML keine Model-Klasse.
Wenn Sie vorhaben, Models in Ihren Spielen zu verwenden, sollten Sie Assimp verwenden .
Assimp bietet Unterstützung für den Import der folgenden Formate:
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 ist ein kostenloses, plattformübergreifendes Open-Source-Framework für Creative-Code. Sie können es als C ++ - API oder als eigenständige Skriptsprache verwenden, um einfachen und schnellen Zugriff auf beschleunigte 2D- und 3D-Grafiken, Hardware-Shader, Sound- und Netzwerkprogrammierung, Physik-Engines und mehr zu erhalten.
Die Kern-Polycode-API ist in C ++ geschrieben und kann zum Erstellen portabler nativer Anwendungen verwendet werden.
Neben der Kern-C ++ - API bietet Polycode ein Lua-basiertes Skriptsystem mit eigenen Kompilierungswerkzeugen. Die Lua-API spiegelt die C ++ - API wider und kann verwendet werden, um auf einfache Weise Prototypen zu erstellen und sogar vollständige Anwendungen auf mehreren Plattformen zu veröffentlichen, ohne C ++ kompilieren zu müssen.
Polycode ist Open Source, das heißt, Sie können lernen, wie Dinge hinter den Kulissen getan werden. Außerdem wird Assimp zum Laden von Modellen verwendet, sodass Sie sich nicht um das manuelle Verknüpfen mit Assimp kümmern müssen.