-
-
Notifications
You must be signed in to change notification settings - Fork 911
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Switch to SharpDX.Mathematics #2
Comments
The xenko mathematics is a fork of the SharpDX one. |
IMO this would require effort better spent elsewhere and the current state of affairs actually has some advantages. |
it would be interesting to know whether xenko changed/fixed anything compared to the sharp dx ones. |
No idea if they kept it up to date with the SharpDX one. After a brief looking at the history of SharpDX doesn't look like a whole lot has been changed over the last couple of years. Not sure how much effort would be involved doing a compare etc. |
another option would be the new SIMD enabled vectors of System.Numerics. the missing methods could be provided as an extension package. |
SharpDX.Mathematics depends on SharpDX, which I think would be pretty undesirable. Moving to System.Numerics seems a natural choice but I think any move needs a bit of research. .NET runtime people have been discussing hardware intrinsics like SIMD for a while but it's still a work in progress AFAICT. .NET Platform Dependent Intrinsics We might also consider the improvements offered by C# 7.2's readonly structs. One benefit of Xenko.Core.Mathematics is that it'd be a lot easier to update to using readonly structs than to try and update an external dependency like SharpDX. |
I can't name a serious engine that doesn't maintain its own math library. The reality is that the math library is tiny in relation to the rest of the engine -but- it is used everywhere. So this is a case where the premium on maintaining consistency/style with the rest of the engine is extraordinarily high. The benefits for switching should therefore likewise be extraordinarily high. |
I wanted to add to this discussion that, switching to something like SIMD enabled Vectors wouldn't actually replace much. The functionalities that comes with them should be well tested to be useful in Xenko's context while the functionalities that are unique to Xenko can still be added as extensions methods which still retains certain control over it. It also allows Xenko to accept a wide variety of libraries that utilizes System.Numerics which should be a great plus to developers. |
commit ed13ea1 Author: Youness KAFIA <kafia.youness@hotmail.fr> Date: Mon Oct 4 10:46:21 2021 +0200 Little update commit c448c46 Merge: 329d714 d7ecfe8 Author: Youness KAFIA <kafia.youness@hotmail.fr> Date: Sun Aug 22 17:13:47 2021 +0200 Merge branch 'motionBlurPostProcess' of https://github.com/ykafia/stride into motionBlurPostProcess commit d7ecfe8 Merge: 85d00d0 92c3b2f Author: Youness KAFIA <32330908+ykafia@users.noreply.github.com> Date: Sun Aug 22 17:13:37 2021 +0200 Merge pull request stride3d#9 from stride3d/master Update commit 329d714 Author: Youness KAFIA <kafia.youness@hotmail.fr> Date: Mon May 24 00:09:20 2021 +0200 Correction chapman motion blur values commit 85d00d0 Merge: 74408ee 04691cd Author: Youness KAFIA <kafia.youness@hotmail.fr> Date: Wed May 12 19:59:48 2021 +0200 Merge branch 'master' into motionBlurPostProcess commit 04691cd Author: Youness KAFIA <kafia.youness@hotmail.fr> Date: Wed May 12 19:59:00 2021 +0200 update branch merge commit bbe2a16 Merge: 04c7067 f1f6843 Author: Youness KAFIA <kafia.youness@hotmail.fr> Date: Wed May 12 19:56:18 2021 +0200 Merge branch 'master' of https://github.com/ykafia/stride commit f1f6843 Merge: edb18be 68153c8 Author: Youness KAFIA <32330908+ykafia@users.noreply.github.com> Date: Wed May 12 19:39:43 2021 +0200 Merge branch 'stride3d:master' into master commit 74408ee Author: Youness KAFIA <kafia.youness@hotmail.fr> Date: Wed May 12 15:51:21 2021 +0200 Documentation update commit 33efad6 Author: Youness KAFIA <kafia.youness@hotmail.fr> Date: Wed May 12 15:23:18 2021 +0200 Update on better algorithm, needs better tile blurring commit 288597d Author: Youness KAFIA <kafia.youness@hotmail.fr> Date: Tue May 11 20:19:10 2021 +0200 working blur implementation, needs rework commit 84a077e Author: Youness KAFIA <kafia.youness@hotmail.fr> Date: Mon May 10 02:02:51 2021 +0200 Updates on a working blur. Need better computation + slow loading commit 950b09e Author: Youness KAFIA <kafia.youness@hotmail.fr> Date: Wed Apr 28 19:00:50 2021 +0200 Correction Chapman blur commit b4e79f7 Author: Youness KAFIA <kafia.youness@hotmail.fr> Date: Mon Apr 26 11:05:09 2021 +0200 Champan progress commit 04c7067 Merge: f1db69b edb18be Author: Youness KAFIA <kafia.youness@hotmail.fr> Date: Fri Apr 23 19:55:47 2021 +0200 Merge branch 'master' of https://github.com/ykafia/stride commit f1db69b Author: Youness KAFIA <kafia.youness@hotmail.fr> Date: Fri Apr 23 19:55:39 2021 +0200 Motion Blur initial commit. TileMax commit edb18be Merge: bd99662 0b3fc81 Author: Youness KAFIA <32330908+ykafia@users.noreply.github.com> Date: Tue Mar 30 12:25:31 2021 +0200 Merge pull request stride3d#4 from stride3d/master Add ACES (stride3d#1037) commit bd99662 Merge: 0a94004 34ed6fa Author: Youness KAFIA <32330908+ykafia@users.noreply.github.com> Date: Wed Mar 17 14:56:29 2021 +0100 Merge pull request stride3d#2 from stride3d/master update master commit 0a94004 Merge: 0bb9dc0 e0d5aaa Author: Youness KAFIA <32330908+ykafia@users.noreply.github.com> Date: Sat Mar 13 19:53:16 2021 +0100 Merge pull request stride3d#1 from stride3d/master [Build] Force .NET version so that NuGet doesn't get upgraded behind …
As i understand, SharpDX.Mathematics is the same as: https://github.com/xenko3d/xenko/tree/master/sources/core/Xenko.Core.Mathematics
it might be a good idea to switch to that nuget, as it is maintaned and has probably a few bug fixes. i personally contributed a few over there. the big advantage would be that every other project that is using sharpdx doesn't need to convert vectors all the time. this is particularly bothersome when its basically the same code behind...
The text was updated successfully, but these errors were encountered: