Tôi khuyên bạn nên xem SFML và Polycode .
Tôi nghĩ rằng các câu trả lời ở đây là loại thiếu điểm. Thật khó chịu khi phải liên kết đến mười thư viện khác nhau, chẳng hạn như Freetype, libpng, tinyxml, Ogg, Vorbis, v.v., để có được một số tính năng XNA cơ bản.
SFML
http://www.sfml-dev.org/features.php
SFML là API C ++ đa phương tiện miễn phí, cung cấp cho bạn quyền truy cập thấp và cao vào đồ họa, đầu vào, âm thanh, v.v. Theo một nghĩa nào đó, nó tương tự như XNA nhưng không nắm tay bạn nhiều. Ví dụ, SFML không có lớp Model.
Nếu bạn đang dự định sử dụng Mô hình trong các trò chơi của mình, bạn nên xem xét sử dụng Assimp .
Assimp thêm hỗ trợ để nhập các định dạng sau:
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 )
Đa cực
http://polycode.org/features/
Polycode là một khung công tác đa nền tảng, miễn phí, mã nguồn mở cho mã sáng tạo. Bạn có thể sử dụng nó như một API C ++ hoặc như một ngôn ngữ kịch bản độc lập để có thể truy cập dễ dàng và đơn giản vào đồ họa 2D và 3D được tăng tốc, trình tạo bóng phần cứng, lập trình âm thanh và mạng, công cụ vật lý và hơn thế nữa.
API Polycode lõi được viết bằng C ++ và có thể được sử dụng để tạo các ứng dụng gốc di động.
Ngoài API C ++ cốt lõi, Polycode cung cấp một hệ thống kịch bản dựa trên Lua với bộ công cụ biên dịch riêng. API Lua phản ánh API C ++ và có thể được sử dụng để dễ dàng tạo các nguyên mẫu và thậm chí xuất bản các ứng dụng hoàn chỉnh lên nhiều nền tảng mà không cần biên dịch C ++.
Polycode là mã nguồn mở, nghĩa là bạn có thể học hỏi từ cách mọi thứ được thực hiện phía sau hậu trường. Ngoài ra, nó sử dụng Assimp để tải các mô hình, do đó bạn không cần phải lo lắng về việc liên kết thủ công với Assimp.