On this page you'll find a guide to get started with Managed DirectX (MDX) from scratch and how the resources on this site fit in to help you on your way. As mentioned on the Basics tutorial page, we have various resources available for coders who want to get into MDX programming, but they may not always be that easy to find. In this primer we'll point you to the various resources and lay down a basic path of how to go about learning MDX.

This may not be the most exhaustive primer, but we hope it'll help you to get off to a good start with MDX. We'll update the primer as much as possible to include new resources on the MDXInfo website and resources found on other MDX tutorial sites. If you have any questions, comments or suggestions please don't hesitate to .



What is Managed DirectX anyway?

Managed DirectX is a wrapper around the normal DirectX API that allows you to create multimedia applications (i.e. games) on the .NET platform. The calls to DirectX aren't mapped one-to-one, but the functionality available in MDX is equivalent to the power offered by the normal DirectX platform. The MDX platform is officially supported and endorsed by Microsoft and its performance is about 95% of normal (unmanaged) DirectX applications.

There have been countless discussions on the performance and maturiy of MDX, but the general consensus is that as long as you aren't coding a bleeding edge game which requires heavy (assembly & caching level) optimizations, you should be fine using MDX. The platform has indeed come a long way in terms of maturity, but since the Summer 2005 SDK release it has grown to be a professional platform. Since December 2005 the MDX runtimes and all dependencies have become part of the official DirectX runtime, so the deployment issues that plagued MDX applications have also been solved.

There is one thing remaining that keeps MDX from becoming a mainstream game development platform and that's portability. Currently MDX only runs on computers with the Windows operating system installed. PC gaming reportedly only constitutes about 20% of the game market, so since MDX cannot be used on game consoles, it isn't an interesting platform for big gaming companies. As of February 2006 however, Microsoft announced that the current MDX2.0 beta release will be converted to the XNA Framework, which can be used to deploy games on both Windows PCs and the XBox360, openening up the console market for MDX games.


To recap, Managed DirectX is...



So, what do I need?

To get started with MDX development, you'll first need an IDE to do your coding in. Since MDX is a Microsoft product, it makes most sense to just use Visual Studio for your MDX programming. You can use MDX with both Visual Studio 2003 and 2005 (so both on .NET 1.1 and .NET 2.0). If you don't have Visual Studio yet, you can use the freely available Visual Studio Express For Windows Development. On the Visual Studio Express page you can also find information on how to get started with coding on the .NET platform.

So, now that we're ready to start coding in .NET, you should download and install the latest DirectX SDK, which is also freely available on MSDN, along with various resources on getting started. To be sure, you should install the SDK afteryou've installed Visual Studio, since it adds some functionality and settings to the IDE to make coding easier.

Once you have both Visual Studio and the SDK installed, you're ready to start coding your games. To run the code on another machine, it will need to have the latest DirectX Runtime installed and the .NET Framework runtime. You can manually install these runtimes on the target machine using the supplied redistributal installers, or you can point people to the DirectX Web Updaterand use ClickOncefor deployment.




How do I get started coding?

We provide various resources on getting started with coding in Managed DirectX, ranging from background information to various tutorials on getting things done. Below you'll find a listing of the available resources and how they can help you on your way to learning Managed DirectX.



Where do I go from here?

Though this does depend on where you want to go, the best way to learn MDX is to just pick a game you want to make and try to implement it to the best of your abilities. You'll undoubtedly run into some problems along the way, but this really is the only way to get comfortable with MDX (and game coding in general). Explaining common pitfalls and giving general advice is mostly confusing if you haven't experienced those issues yourself yet, so the best advice is just to get busy coding your game.

This doesn't mean you'll have to figure out everything yourself once you've reached this point. MDXInfo provides numerous resources on how to implement specific effects in MDX and how to optimize the performance of your application. Once you're wondering on how to implement a specific feature, check out our resources sectionor the other parts of our tutorial section and chances are we have the example you are looking for.

There are a few generic pointers we can give you how to get on in the MDX world though, which you'll find below.  
Home Articles Tutorials Resources About

Managed DirectX and MDXInfo primer


By Rim van Wersch, June 24 2006






[ What is MDX? ] [ What do I need? ] [ MDX Coding ] [ Where to go from here ]
MDX info is an initiative by vector4. All content is copyright © 2005-2006 by its respective authors | About MDX info | Terms of Use |
Coming soon!