This project started in September 2010 by Alexandre Mutel. While SlimDX was the only viable and almost complete solution to use a managed DirectX API, but It was limitating in some aspects: code was written in C++/CLI (slower to compile and maintain, C++ runtime dependency, no real AnyCPU, not compatible with Mono, not easy to obfuscate...etc) , API was entirely written by hand, subject to manual API updates from DirectX changes and at the mercy of small bugs and interop inconsistencies. Also the expected version 2.0 was stalling and directions evaluated were not enough promising.
One month of work later, Alexandre Mutel came with an innovative and workable prototype by using a C# code generator to build a C# managed API directly from DirectX SDK headers. This solution was proposed to SlimDX Team, but due to a different vision in the way the new version should evolve, SharpDX was finally released as a separate project on the 1st december 2010.
Because the original SharpDX code was a prototype, lots of work were required to have a robust solution with a complete API coverage. Then during the year 2011, effort was mainly focused to solidify the code infrastructure: by using for example gccxml as the main C++ parser instead of a handwritten pseudo C++ parser, as well as using a completely config data-driven mapping. While finalizing to cover the whole DirectX API until September 2011, Windows 8 and WinRT was revealed with a new DirectX11.1 update. It was a great opportunity to challenge the new SharpDX code generator infrastructure by trying to deliver a DirectX11.1 API for .NET accessible from Windows 8 Metro applications. Bingo! One week later, a preview was released showing SharpDX running under Windows 8 Metro.
Until this period, Alexandre Mutel have been working on SharpDX fulltime on his own funding. In the meantime, the author was contacted by a developer working in a Japanese company - Silicon Studio, that was using SharpDX for a new R&D .NET 3D engine. Alexandre Mutel joined this company to work on this fantastic project called Paradox that was revealed at the GDC 2012.
By the end of 2011, several companies were interested to use SharpDX under Windows 8 Metro and SharpDX was finally selected to be used in the Solitaire Application shipped with the Windows 8 Consumer Preview.
Current status is promising, as SharpDX is now a viable and certified solution for managed DirectX development under Windows 8 Metro.
First of all, I would like to thank you the impressive and inspiring work done by SlimDX to bring a pleasant managed API. You will notice also that SharpDX is using internally a port of SlimMath - for the Math API - as well as reproducing the original SlimDX API and some behavior of their implem (like DataStream, ShaderBytecode...etc.). Without this bootstrap work, SharpDX wouldn't have been able to manage this huge task in time.
I would like also to thank you early adopters and enthousiasts users from the beginning of the project (Amer Koleci, Fadi Alsamman, Virgile Bello...etc.)
I'm also gratefull to Virgile Bello, Colin Magne and CEO Terrada-San from Silicon Studio for the trust they have granted me to work with them on exciting and great projects.
I would like also to thank you people behind the Windows 8 Metro Solitaire App, as well as Jose Fajardo for his recent work on Direct2D samples and all recent projects team using SharpDX like MonoGame, ANX Framework, Axiom3D....etc.