Where should SimpleMath live?

Feb 2013 update: in response to overwhelming popular opinion, SimpleMath has now been merged into the DirectX Tool Kit on Codeplex.


I am curious what folks think is the right long term home for the SimpleMath helper code?

  1. A post on my blog is fine
  2. The MSDN code gallery
  3. Merge it into DirectXTK  (seems kinda weird to me, as SimpleMath isn't really a DirectX graphics helper like the other code in there)
  4. A standalone CodePlex project  (also seems kinda weird, as SimpleMath is so small)
  5. Other?

Comments (24)

  1. RabidLionGames says:

    Merging into DirectXTK has my vote. Whilst it isn't a graphics helper, it is code to 'get stuff done' in DirectX.

  2. rich says:

    I think merging into DirectXTK would get it to the most people. I'd do that and number 1.

  3. swdx says:

    It should probably go into a (Microsoft officially supported) wrapper for DirectX that finally replaces the deprecated Managed DirectX.  IMHO, Microsoft seriously dropped the ball on MDX years ago and needs to realize that C++/DirectX, XNA, and the older/unsupported/half-baked DirectX toolkit are not sufficient.  The community is still waiting for Microsoft to officially support an elegant, thin managed wrapper for DirectX (similar to SlimDX or SharpDX).  Seriously, how many full-time staff would this really require?

  4. Joe says:

    I vote separate repo.  In Git, having small repos makes total sense.  Some of my repos are only one file.  

    With git submodules it makes it very easy to consume.

    Also, why not post to NUGET too?

  5. Joe says:

    And, to swdx's point – ManagedDX, XNA, GameStudio and everything .NET related to DirectX is a total mess.

  6. ShawnHargreaves says:

    swdx: I think you are asking for a managed code / C# wrapper?

    That is a different thing from SimpleMath, which is C++ code designed for C++ developers.

  7. swdx says:

    I realize SimpleMath is for C++.  Just wanted to cast a vote for Microsoft to spend some time on a MDX/SlimDX/SharpDX-like managed wrapper for DirectX.  Thanks.

  8. Ferret Chere says:

    Agreed with Joe. GitHub (source repo) and Nuget (binary distribution) would be good, and give the best exposure/accessibility.

  9. moswald says:

    Bitbucket has my vote.

  10. ShawnHargreaves says:

    Let me clarify the rules:

    If I go for a web source host, that would be Codeplex.  Bitbucket or Github are not options, sorry.

  11. Steve says:

    Github.  I (And many others) will never use it if it isn't in Github.

  12. illogic says:

    How about a CodeProject article?

  13. Mike says:

    If SimpleMath were merged with DirectXTK, then the DirectXTK classes could provide overloads that use the SimpleMath types. This may help people coming from XNA.

  14. MikeBMcL says:

    Merging it into DirectXTK would likely give it the broadest exposure. And if Chuck was agreeable, you could also merge DXERR in. DirectX Toolkit is a broad enough name to encompass things beyond just graphics. I don't know if you want to take it there, and having DirectXTK grow too big in scope would be an issue in several ways, but I think adding those two things in wouldn't be a feature creep issue, both are valuable, and DirectXTex is (to me) a better candidate for being the pure graphics project.

    If not that, then I'd put it on Codeplex since it's much easier (to me anyway) to find a Codeplex project than it is to find a blog post (though the complementary blog post is a good thing to keep nonetheless).

  15. Ray says:

    Merge into DirectXTK. I think it's pretty close to graphics. The moment we need a shader we usually need a worldViewProjection and SimpleMath becomes a consideration at the exact same time things like PrimitiveBatch from DirectXTK does. And you've already explained the implications of using it well enough.

    To make it even more a tighter fitting graphics helper, maybe extend SimpleMath beyond a wrapper with giving the Color struct or a Color namespace all the color constants we're familiar with from the Xna.Framework.Graphics.Color struct. Not a huge deal but I always miss 'em and write them myself when using DirectXTK's VertexTypes.

  16. ShawnHargreaves says:

    > maybe extend SimpleMath beyond a wrapper with giving the Color struct or a Color namespace all the color constants we're familiar with from the Xna.Framework.Graphics.Color struct

    These are already provided by the core DirectXMath:


  17. Ray says:

    Oh wow, somehow missed that transitioning from XNAMath. Sweet.

    All the more reason SimpleMath bundled with DirectXTK would help complete a productivity vibe of using XNA since so many pieces are already there. Seeing it present as an option rather than an extension may help ease people from C# to C++.

    But it'd also be ok if it was a separate CodePlex project. Even though DirectXTK doesn't depend on SimpleMath like it does DirectTex, would be nice if it linked to SimpleMath as an option.

    It's such a useful wrapper though that it deserves more than being a blog post even if it'll need no further work.

  18. Jon says:

    NuGet package!?

  19. Daniel Dobson says:

    I'd say merging it into DirectXTK, as yes its close to graphics, and lots of exposure.

  20. Ilikedirectx says:

    It will be nice if Shawn and other former XNA developers create own NET-DirectX11 port like XNA. Or help people in MonoGame. However its a dreams. But C++ is very uncomfortable thing even in VS2012.

  21. XnaIsGone says:

    I vote for DirectXTK

  22. Spiro G. says:

    I'd say release it on CodePlex or github or whatever. Merging it in TK would be ok, but if it helps other people, releasing it seperately, users wouldn't have to deal with the unnecessary (for their purpose) code and dependancies and such of DXTK. and people who want it in their TK Project can include it

  23. Chuck Walbourn (MSFT) says:

    Created CodePlex Issue for this. Feel free to Up-Vote it :>


Skip to main content