Shawn Hargreaves Blog
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?
Merging into DirectXTK has my vote. Whilst it isn't a graphics helper, it is code to 'get stuff done' in DirectX.
I think merging into DirectXTK would get it to the most people. I'd do that and number 1.
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?
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?
And, to swdx's point - ManagedDX, XNA, GameStudio and everything .NET related to DirectX is a total mess.
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.
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.
Agreed with Joe. GitHub (source repo) and Nuget (binary distribution) would be good, and give the best exposure/accessibility.
Bitbucket has my vote.
Let me clarify the rules:
If I go for a web source host, that would be Codeplex. Bitbucket or Github are not options, sorry.
Github. I (And many others) will never use it if it isn't in Github.
How about a CodeProject article?
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.
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).
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.