Git Product home page Git Product logo

Comments (9)

tebjan avatar tebjan commented on May 17, 2024 1

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

from stride.

jhorv avatar jhorv commented on May 17, 2024 1

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.

from stride.

jmkinzer avatar jmkinzer commented on May 17, 2024 1

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.

from stride.

dfkeenan avatar dfkeenan commented on May 17, 2024

The xenko mathematics is a fork of the SharpDX one.

from stride.

jmkinzer avatar jmkinzer commented on May 17, 2024

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

from stride.

tebjan avatar tebjan commented on May 17, 2024

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

from stride.

dfkeenan avatar dfkeenan commented on May 17, 2024

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.

from stride.

xen2 avatar xen2 commented on May 17, 2024

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.

from stride.

SimantoR avatar SimantoR commented on May 17, 2024

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.

from stride.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.