I'm pleased to announce the 1st release of SharpDX 1.0, an opensource project that provides a new plartform independent .Net managed DirectX API.
Key features of this project are:
- API is generated from DirectX SDK headers : meaning a complete and reliable API and an easy support for future API.
- Full support for the following DirectX API:
- Direct3D10
- Direct3D10.1
- Direct3D11
- Direct2D1 (including custom rendering, tessellation callbacks)
- DirectWrite (including custom client callbacks)
- D3DCompiler
- DXGI
- DXGI 1.1
- DirectSound
- XAudio2
- XAPO
- An integrated math API directly ported from SlimMath
- Pure managed .NET API, platform independent : 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.
- C++/CLI Speed : the framework is using a genuine way to avoid any C++/CLI while still achieving comparable performance.
- 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 with tool like ILMerge.
You will also find a growing collection of samples in the Samples Gallery of SharpDX. Most notably with some additional support for Direct2D1 and DirectWrite client callbacks.