My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Featured
Downloads
Links

SharpDX is a full DirectX framework for the .NET Platform, including the newest DirectX technology. The top three features of SharpDX:

  • SharpDX is providing the latest DirectX and Multimedia API to .Net with true AnyCpu assemblies, running on .Net and Mono.
  • SharpDX is ready for next generation DirectX 11.1 technology and Windows 8 Platform. You can start to develop DirectX Metro style App in C# under Win8
  • SharpDX is the fastest Managed-DirectX implementation.

SharpDX is using a custom code generator from C++ headers in order to generate an efficient .Net interoperability with C++ DirectX API.

News

  • 3 March 2012, About update to Windows 8 Consumer Preview
    • As the main developer is currently highly busy to prepare the GDC expo, SharpDX Win8 will be updated later next week to Win8 Consumer Preview. Note also Win8 samples from current 2.0.4 are not compiling fine but should work with a couple of easy typo-minor fixes.
  • 6 February 2012, New SharpDX 2.0.4 released!
    • This release is including several minor bug fixes. Check the release notes for more details.
  • 20 December 2011, New SharpDX 2.0 beta3 released!
    • This release is including several minor bug fixes. Check the change log for more details.
    • Starting from this release, SharpDX Signed Assemblies are also available (SharpDX-Signed zip files). Unless you are required to use signed assemblies, It is recommended to use standard assemblies that are mergable/obfuscatable friendly.
    • Final release is coming in Q1 2012. Happy New Year with SharpDX!
  • 22 November 2011, New SharpDX 2.0 beta2 released!
    • This release is including several bug fixes, performance enhancements and xml documentation.
    • SharpDX is now passing Win8 certification for Metro style App! (Currently only for Direct3D11 app. Direct2D is not yet finalized)
    • Check the change log for more details.
  • 24 September 2011, SharpDX 2.0 beta is released! This is a major release including lots of new APIs and features:
    • New APIs for Direct3D9, DirectInput, RawInput, XInput, X3DAudio, XACT3, WIC (integrated with Direct2D1).
    • New APIs preview for upcomming Win8/DirectX11.1 (D3DCompiler 44, DXGI 1.2, Direct3D11.1, Direct2D1.1) and including support for DirectX Metro application in C#/.Net!
    • New Samples (Direct3D10 WPF Interop, Direct3D11 MiniCube, WIC RenderToTarget, WIC EncodeDecode, XAudio2 play XWMA,ADPCM,WAV)
    • New 2 Samples for Win8/Metro Preview (MiniCube and port of Win8 C++ DirectX Tutorial)
    • NuGet Package available for all SharpDX 2.0 assemblies with symbols (enabling "source step into" debugging)
    • Lots of bugfixes, apis simplification (buffer uploading) and helpers (ObjectTracker for tracking Com objects)
    • Interop performance slightly improved for method calls.
    • Full rewrite of SharpGen, the core technology of SharpDX, a genuine C# code generator directly from C++ Headers using now gccxml. SharpGen is now able to parse all Windows headers!
  • Olders news

Features

The key features and benefits of this API are:

  • Support for the following DirectX API:
    • Direct3D9 & Ex
    • Direct3D10
    • Direct3D10.1
    • Direct3D11 and Effects11
    • Direct3D11.1 (Win8 only)
    • Direct2D1 (including custom rendering, tessellation callbacks)
    • Direct2D1.1 (Win8 only)
    • DirectCompute
    • DirectWrite (including custom client callbacks)
    • D3DCompiler
    • DXGI
    • DXGI 1.1
    • DXGI 1.2 (Win8 only)
    • DirectInput 8
    • XInput
    • RawInput
    • DirectSound 8
    • X3DAudio
    • XACT3
    • XAudio2
    • XAPO
    • WIC
  • 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

An optional assembly SharDX.Diagnostics is delivered and can be added to your project in order to have an explicit error messages when there is a DirectX functions returning an error code. This assembly can be used in development but is not mandatory.

Documentation

  • Documentation will be released for RTM

Requirements

  • Operating system: Windows XP, Vista, Windows 7, Windows 8 Developer Preview
  • .Net framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5 Core (Win8 only) are supported. Mono 2.10+ is also supported.
  • The current code is based on DirecX SDK June 2010. You need to have at least the latest DirectX runtime to develop with SharpDX. If you need to debug DirectX calls, you will need also to install the DirectX SDK.
  • SharpDX Win8 Metro samples will only work under the Windows 8 Developper Preview

Future Plans

  • Performance improvements
  • Full Win8 support with new SharpDX WinRT Components
  • For a higher level XNA like API built on top of SharpDX, checkout ANX Framework
Powered by Google Project Hosting