Decide how to proceed with SharpDX now that is not officially maintained anymore
See original GitHub issueSharpDX is now discontinued (RIP and thanks @xoofx and other contributors for the huge effort!)
It might be good to consider our options for the future.
In an ideal world with enough resources, it would be great to:
- Fork it
- Remove what is not worth maintaining (D3D9, etc.)
- Make it more low-level, thin and struct-based (https://github.com/sharpdx/SharpDX/issues/722), little bit similar to our Vulkan wrapper.
This would work out well because we already embed SharpDX objects in our own
Xenko.Graphics
objects, so having two “layers” of wrapping/indirection is not necessary. - Consider new API (DXR)
- Later down the road, evaluate if new C# features don’t allow us to do the
calli
more easily (cf https://github.com/dotnet/csharplang/blob/master/proposals/static-delegates.md) - Try to bring some other people on-board (ping @tomspilman @cra0zy @Jjagg)
Issue Analytics
- State:
- Created 4 years ago
- Reactions:4
- Comments:9 (6 by maintainers)
Top Results From Across the Web
Decide how to proceed with SharpDX now that is not ...
Remove what is not worth maintaining (D3D9, etc.) Make it more low-level, thin and struct-based ( Expose internal methods / Low-level wrapper?
Read more >What's new? - SharpDX changes in
The current status of SharpDX is now stable. While some more high level APIs like the Toolkit could get lots of additional features,...
Read more >SharpDX: Home
NOTE: As of 29 Mar 2019, SharpDX is no longer being under development or maintenance. SharpDX has been around for almost 9 years, ......
Read more >"To round up, C++ does not dictate about its tooling, which ...
No project needs to run tests before compile (and if you really need build step x ... And do note that the main...
Read more >All posts tagged 'SharpDX'
I am happy to inform you that new major versions of Ab3d.PowerToys and Ab3d.DXEngine have been published. The new release brings many great ......
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
@amerkoleci Cool, nice progress! Switching API is lot of work and it requires some investigation, which is why it wasn’t started (yet). Also, it was not something that needed to be done urgently (it seems nobody offered help on it or needed one of the new features yet).
Just a few comments concerning Stride:
We’ll need to double-check if current public API could use Vortice as-is (does it contain everything currently used? also need to review functions/overloads, i.e. the ones taking arrays: we want to avoid unnecessary boxing/allocation due to interop so we need to make sure there are proper overloads taking memory pointers directly).
Ideally, I was hoping to find a low-level binding where D3D COM objects would be stored in structs rather than class (avoid extra indirection/objects and keep things as close to D3D API as possible). For Stride the D3D layer is not user-facing so we want it as lean as possible rather than user-friendly. Note: that’s just a preference, I am fine to move to a new solution even if this is not available.
Curious, it seems to work on UWP, has it ever been tested on Xbox One?
@Eideren We only use D3D11 API. We then use D3D9/10 feature levels when creating device (which are available inside the D3D11 API) to support less capable GPUs.
Just to keep you updated, last version (https://github.com/amerkoleci/Vortice.Windows/commit/8428bf45224b1222341c3cd0cf0ce451fda2033a) adds DXR raytracing, D3D12 render passes and variable rate shading support.