XNA:
XNA - это игровая инфраструктура, которая позволяет вам нацеливаться на несколько устройств легко (Windows
, Xbox 360
, Zune
и теперь Windows Phone 7
с версией 4) с использованием таких языков .NET C #.
Обратите внимание, что между XNA и DirectX SDK нет отношения 1-1, например, он не предоставляет D3D10, D3D11 или некоторые интерфейсы, которые можно найти в D3DX.
.NET Wrappers:
Если вы ищете что-то похожее на нативный DirectX API, у вас есть 3 варианта:
Windows® API Code Pack для Microsoft® .NET Framework :
оборачивает кучу собственных библиотек Windows, таких как DirectX, чтобы их можно было использовать из управляемого кода. Обратите внимание, что он не предоставляет API до D3D10, например D3D9.
SlimDX : то же самое, но только для DirectX и предоставляет Direct3D с версии 9 до 11 (SlimDX - это сторонний проект, не связанный с Microsoft).
C ++ / CLI и DIY обертка: если у вас нет особых потребностей, я бы не рекомендовал это.
Окончательный выбор зависит от ваших потребностей. Если это только для целей изучения DirectX API, но в C #, я бы сказал, выберите Windows API Code Pack или SlimDX.