Coding4Fun Blog

Making Modern UI Managed DirectX App's with SharpDX (Updated for Win 8/VS2012 RTM)

Description

We last highlighted this project by Alexandre Mutel five months ago, Sharpening your Metro C#/XAML projects with DirectX and SharpDX, well before Windows 8 RTM'ed. With Windows 8 General Availability just around the corner, it's great to see this update to this great project...

SharpDX 2.3 new version released

General Information

  • New release of SharpDX 2.3.0.
  • This version is compatible with Windows 8 RTM and Visual Studio 2012 RTM.
  • New target assemblies released : Signed-net40, Signed-winrt. Nuget packages are now providing signed assemblies.
  • *Lots* of small enhancements, changes, bug fixes. See complete listing below.
  • SharpDX.Toolkit, a high level XNA like API for Direct3D11 is under heavy development. The toolkit is not yet part of the distribution but a Beta version should be released by the end of October. Currently implemented:
    • Friendly constructors for all resources (states, textures, rendertargets, buffers).
    • Image and Texture loading & saving for various formats (DDS, JPG, PNG, BMP, TIFF, GIF).
    • A full HLSL Effect / FX system, very similar to legacy FX system, using efficiently Direct3D11, compatible with Windows Desktop and Windows 8 Modern, with a custom compilers. All XNA stock effects (BasicEffect, DualTextureEffect...etc.) were successfully ported to it. The toolkit is coming with its own effect compiler (tkfxc) similar to standard fxc.exe.
  • Concerning support for Windows Phone 8 (WP8) nothing to announce yet until the official release of the WP8 SDK.

...

And when they say "*Lots* of small enhancements, changes, bug fixes" they really mean it...!

image

How do you get it?

Download section

Current stable version of SharpDX is 2.3.0.

SharpDX binaries are directly available from SharpDX google code download page or from nuget packages.

SharpDX is now bundled into 2 separate packages, for all platforms and .NET Framework:

  • A Binary only package, SharpDX-Bin-2.3.0.exe that contains only binaries necessary to developed with SharpDX.
  • A Full package, SharpDX-Full-2.3.0.exe that contains binaries, full documentation and all samples.
  • Or via Nuget Packages, providing binaries for .NET 2.0-4.0 and WinRT, with debugging information and source code stepping.

The content of the archive is structured like this:

image

Samples? Here's a few snaps from the Win8 Sample solution;

image

Screenshot (16)Screenshot (17)Screenshot (18)Screenshot (19)Screenshot (21)

And there's even more for Win7/8 Desktop app's! Here's the VS 2010 Sample Solution

image

"Wait, what's the big picture? What is SharpDX again?"

The power of DirectX for .Net

SharpDX is an open-source project delivering the full DirectX API under the .Net platform, allowing the development of high performance game, 2D and 3D graphics rendering as well as realtime sound application.

SharpDX is built with a custom tool called SharpGen able to generate automatically a .NET API directly from the DirectX SDK headers, thus allowing a tight mapping with the native API while taking advantages of the great strength of the .Net ecosystem.
SharpDX is fully supporting all Windows platforms including latest Windows 8 Metro. Easily develop multimedia applications for desktop and metro with the same API!

SharpDX is a free and active open-source project that is delivering a full-featured Managed DirectX API that includes support for Direct3D9 & Ex, Direct3D10, Direct3D10.1, Direct3D11, Direct3D11.1 (Win8 only), DirectCompute, Direct2D1, Direct2D1.1 (Win8 only), DirectWrite, WIC, D3DCompiler, DXGI, DXGI 1.1, DXGI 1.2 (Win8 only), DirectSound 8, XAudio2, XAPO, XACT3, X3DAudio, DirectInput 8, XInput and RawInput.

SharpDX supports all Windows OS and .NET Framework, including development for the latest Windows 8 Metro!

image

image

image

In short, if you're a Managed Dev and the new world of DirectX concerns you, you have to check out SharpDX...

The Discussion

Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.