Windows XP, Vista, Windows 7, Windows 8 and Windows Phone 8
2.0, 3.0, 3.5, 4.0, 4.5, 4.5 Core (Win8 only), Mono 2.10+.
1SharpDX is providing the latest DirectX and Multimedia API to .Net with true AnyCpu assemblies, running on .Net and Mono available on all Windows platforms.
2SharpDX is ready for next generation DirectX 11.1, 11.2 APIs, Windows 8.1 and Windows Phone 8 Platform. You can start to develop DirectX certified Metro style App in C# under Win8
3SharpDX provides a higher level API called the Toolkit to easily develop Direct3D11 applications on Windows Desktop, Windows RT and Windows Phone
4SharpDX is the fastest managed DirectX implementation (link)
⊕ Direct3D9 & Ex
⊕ Direct3D11.1, 11.2 (Win8+ only)
⊕ Direct2D1.1 (Win8 only)
⊕ DXGI 1.1
⊕ DXGI 1.2 (Win8 only)
⊕ MediaFoundation (MediaEngine)
⊕ DirectSound 8
⊕ DirectInput 8
⊕ Math library
⊕ Interop Utilties
- API is generated from DirectX SDK headers : meaning a complete and reliable API and an easy support for future API.
- Managed platform independent .NET API : assemblies are compiled with AnyCpu target. You can run your code on a x64 or a x86 machine with the same assemblies, without recompiling your project.
- Lightweight individual assemblies : a core assembly - SharpDX - containing common classes and an assembly for each subgroup API (Direct3D10, Direct3D11, DXGI, D3DCompiler...etc.). Assemblies are also lightweight.
- Fast Interop : the framework is using a genuine way to avoid any C++/CLI while still achieving better performance than existing managed API. Check this benchmark.
- API naming convention mostly compatible with SlimDX API.
- Raw DirectX object life management : No overhead of ObjectTable or RCW mechanism, the API is using direct native management with classic COM method "Release".
- Easily mergeable / obfuscatable : If you need to obfuscate SharpDX assemblies, they are easily obfusctable due to the fact the framework is not using any mixed assemblies. You can also merge SharpDX assemblies into a single exe using a tool like ILMerge.
- Easily deployable as SharpDX are plain .NET assemblies, there is no need to install VC runtime or .NET GAC install.
- An integrated math API directly ported from SlimMath
Comparative tables are always biased, but anyway, in case you want to get a grasp of the unique features of SharpDX, let's try to highlight them ;)
(1) This library provides separate x86 and x64 assembly binaries that must be installed into the GAC in order to support transparent loading like "AnyCpu" features
(1) XNA is expected to run as well on this platform
(1) Legacy X model loader/animation/bones is not supported
(2) Custom interfaces implementable by clients are not or partially supported