-
Notifications
You must be signed in to change notification settings - Fork 413
Description
Proposal: Bindings for DirectX.
Since the introduction of WinRT, later UWP, non C++ developers have suffered from lack of access to DirectX, even though they could be easily improved as Windows Runtime Components, given that they are already based on COM.
Summary
Provide the necessary metadata for Rust, C#, and JavaScript developers also to be able to integrate DirectX as Windows Runtime Components into their applications without being forced to write C++ code.
Rationale
Since XNA was put to sleep, we have been managing with community projects like Monogame, SharpDX, Vertice and many others.
They usually tend to run out of steam or fail to keep in sync why the latest DirectX improvements.
So anyone that wants to bind DirectX into their applications is eventually forced to either deal with the faults of such implementations, or having to learn C++ alongside its variants, initially C++/CX, nowadays C++/WinRT and try as much as possible to create an interoperability layer for their application.
Other DirectX related technologies like XAudio and DirectML already offer Windows Runtime Components,
There is also the Win2D project that seems to have become stale, eventually because it wasn't part of DirectX team efforts to start with.
So by having official Windows Runtime Components as part of the official APIs for DirectX, we would be assured to have up to date bindings, integrated into Visual Studio tooling, available to all Project Reunion official languages, instead of being only available to C++ developers.
Scope
| Capability | Priority |
|---|---|
| This proposal will allow developers to integrate DirectX into their applications | Must |
| This proposal will allow developers to develop 3D games in managed languages | Could |
| This proposal will allow developers to use 3D in WPF, UWP and WinUI without writing C++ code | Could |
Important Notes
- SharpDX (now discontinued)