Skip to content
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

Closed
tebjan opened this issue Aug 2, 2018 · 9 comments
Closed

Switch to SharpDX.Mathematics #2

tebjan opened this issue Aug 2, 2018 · 9 comments

Comments

@tebjan
Copy link
Member

tebjan commented Aug 2, 2018

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...

@dfkeenan
Copy link
Contributor

dfkeenan commented Aug 2, 2018

The xenko mathematics is a fork of the SharpDX one.

@jmkinzer
Copy link

jmkinzer commented Aug 3, 2018

IMO this would require effort better spent elsewhere and the current state of affairs actually has some advantages.

@tebjan
Copy link
Member Author

tebjan commented Aug 4, 2018

it would be interesting to know whether xenko changed/fixed anything compared to the sharp dx ones.

@dfkeenan
Copy link
Contributor

dfkeenan commented Aug 4, 2018

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.

@tebjan
Copy link
Member Author

tebjan commented Aug 5, 2018

another option would be the new SIMD enabled vectors of System.Numerics. the missing methods could be provided as an extension package.

@jhorv
Copy link
Contributor

jhorv commented Aug 6, 2018

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
API Proposal: Add Intel hardware intrinsic functions and namespace

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.

@jmkinzer
Copy link

jmkinzer commented Aug 7, 2018

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.

@xen2
Copy link
Member

xen2 commented Aug 7, 2018

Agree with @jhorv and @jmkinzer that we better have math lib inside Xenko.

However, nothing prevent us from improving them (readonly structs etc...) and/or merging SharpDX changes. Feel free to open separate issues when there is a concrete improvement idea, closing this one.

@xen2 xen2 closed this as completed Aug 7, 2018
@SimantoR
Copy link

SimantoR commented Nov 6, 2018

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.

Eideren referenced this issue in Eideren/xenko Aug 14, 2021
Eideren added a commit to Noah7071/stride that referenced this issue Apr 3, 2024
meriaizen86 added a commit to meriaizen86/stride that referenced this issue May 6, 2024
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 …
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants