MDX dies, SlimDX borns, XNA 2.0 appears. And what's to happen in Jade?

Well, as most of you probably know, the MDX samples and documentation have been deprecated from the August DirectX SDK and all forthcomingreleases. I'm not sure if the redistributable is continuing to ship with it or if it's been taken out too (I haven't looked at it to be honest).

This means that the main renderer so far for Jade is now officially dead from Microsoft's point of view. I posted a lot about this subject earlier this year when we started to shape Jade 2 features and objectives and that we had to plan for MDX dying in the future.

Now that the future has come and MDX has died, what can we do?

1 - continue with MDX. The redistributable for MDX 1.1 will most likely continue to exist (although MS did trick us with MDX 2), so we can keep using it.  However, the lack of documentation in the SDK represents MS's lack of support for improvements (features, fixes, etc) to this technology. 

2- move to XNA. I personally like XNA and what it can become for the game industry. While I also think it's quite young, yet the new features in XNA 2.0 (announced some days ago) are a very big step in the right direction. But for us XNA is just a another flavor of MDX and no matter how hard we try we won't be able to run on a 360 because our code is way out of the scope of the Compact Framework. Without being able to port Jade to 360 (and not planning to do that in the near future), XNA offers very little to us.

3- use a DX wrapper. There's a very good project started at Gamedev called SlimDX that wraps around DX9 and DX10. We did some tests with it but we didn't get very far; although it shows a lot of promise given the talented people working on it. But for us, as we use very little functionality of DX it was overkill.

4- wrap the needed functionality of DX ourselves. We could write a new renderer in C++/CLI that calls directly the DX dlls.

The 4th point is the path we have taken in Jade and currently the C++/CLI renderer is up and doing everything we were doing with MDX. Well, actually, there's a difference: it's running much faster than the old renderer :) MS numbers were that MDX was around 10% slower than raw DX but our numbers are showing a bigger difference there (although our tests are quite simple so maybe this could change as we add more features to the engine).

This jump from MDX to C++/CLI has also shown us that it will be easy enough to have several renderers in the new architecture (in fact we have 3 renderers now: the deprecated MDX renderer, the new C++/CLI renderer and a very simple fixed pipeline renderer).

So it seems we are going in the right direction as lots of new and important features are working in the engine so far. These include multiple renderers, multi-threading, support for multiple scenes,... And much more is yet to come :)

Comments

# re: MDX dies, SlimDX borns, XNA 2.0 appears. And what's to happen in Jade?

Saturday, August 18, 2007 9:32 AM by Cardinal4

Very nice to know that you guys have really done your work on a fail-safe plan in case MS really drops MDX. And from what it sounds, the C++ wrapper was a very smooth operation, awesome work. Looks like a very impressive engine that I might try someday. ;)

Leave a Comment

(required) 
(required) 
(optional)
(required) 

Enter the numbers above: