Coffeehouse Thread

10 posts

Managed DirectX for Windows 8 metro apps - Draft

Back to Forum: Coffeehouse
  • IDWMaster

    Since .NET isn't dead in Windows 8 after all, I decided to start making a managed wrapper for DirectX. Keep in mind textures don't work yet, and it is still a work in progress, but here's the most recent build on GitHub (even got it to pass certification now in Release build). 

    NOTICE: I'm calling this a draft, not even an alpha version at this stage. The sample app at the moment draws a triangle, but it's mostly a proof-of-concept app at this point. This work will later be incorporated into 3DAPI (also on GitHib) for true cross-platform 3D apps between Windows, Linux, Windows Phone, and Windows 8


    As usual; contributors are welcome using the standard methods on GitHub, such as creating a branch and requesting a merge. If you want to be part of a big open-source project, feel free to contribute. This is currently the best alternative to XNA/SlimDX at the moment (both XNA and SlimDX have no metro support that I'm aware of, and XNA has always supported only 32-bit builds, so this seems to be a possible alternative at the moment)

  • Royal​Schrubber

    First rule of software development: Check for competing products before you start your own. http://code.google.com/p/sharpdx/

  • spivonious

    Wouldn't a dev prefer to use XNA?

  • Tokter

    @spivonious:Nothing has been announced regarding the future of XNA.

  • spivonious

    @Tokter: It's going to be supported on the phone and Xbox for quite a while, so I'd assume desktop support would continue as well.

  • ZippyV

    @IDWMaster: Isn't DirectX already available in WinRT?

  • DeathBy​VisualStudio

    @spivonious: Probably so but not from a metro app.

  • IDWMaster

    ,Royal​Schrubber wrote

    First rule of software development: Check for competing products before you start your own.http://code.google.com/p/sharpdx/

    This product fails at marketplace verification even in release mode. Depends on too many "legacy" APIs. Mine does not

  • Alexandre​Mutel

    Again IDWMaster:

    The errors you are posting are quite normal, as I didn't remove lots of API that are compiled for the desktop (but are not used my metro app. For example, the namespace Design that is generating lots of errors and is only used on desktop but can be removed easily). Keep in mind that the SharpDX 2.0 assemblies for Win8/Metro are a preview... SharpDX will probably pass certifications as all the API is using authorized COM/Win32 API. Though there are couple of things that still need to be clarified about the new 4.5 core assemblies...

    The preview version is probably not entirely cleanup up from some CLR/Win32 functions that are not supported by Win8 metro, but that will be easy to replace them.

    Using SharpDX, you will be able to use it from desktop as well on Metro, without to change your code.

    You should better leverage on the unique features of your wrapper instead of bashing around existing wrappers. We are all on the same boat.

  • IDWMaster

    ,Alexandre​Mutel wrote

    Again IDWMaster:

    The errors you are posting are quite normal, as I didn't remove lots of API that are compiled for the desktop (but are not used my metro app. For example, the namespace Design that is generating lots of errors and is only used on desktop but can be removed easily). Keep in mind that the SharpDX 2.0 assemblies for Win8/Metro are a preview... SharpDX will probably pass certifications as all the API isusing authorized COM/Win32 API. Though there are couple of things that still need to be clarified about the new 4.5 core assemblies...

    The preview version is probably not entirely cleanup up from some CLR/Win32 functions that are not supported by Win8 metro, but that will be easy to replace them.

    Using SharpDX, you will be able to use it from desktop as well on Metro, without to change your code.

    You should better leverage on the unique features of your wrapper instead of bashing around existing wrappers. We are all on the same boat.

    Sorry about that. Didn't realize the errors were to be expected by the API (based on the number of errors, I thought it was "heavily dependent" on these "outdated" APIs), and didn't realize it would be such a simple fix. In the future, I'll file a bug report (politely), instead of bashing on a project.

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.