Managed wrapper for Direct3D10 - IntroductionBy Ralf "Demirug" Kornmann, May 8 2006 |
D3D10 wrapper project status
The current version of the wrapper and ported tutorials from the D3D10 preview can be downloaded from the link at the bottom of this page. Please note that the wrapper is a work in progress and as such may be updated occasionally, most likely as new sections get added to this article series. The wrapper currently encompasses the basic functionality of the D3D10 API needed to implement C# versions of the SDK preview tutorials 1, 2 and 4.
In contrast to the past, the new API is released as part of the public DirectX SDK which is available to everyone and not only to a small group of Beta testers. This means anybody can write and compile Direct3D 10 applications today, but unfortunately if they try to start the work most will fail. As the final version Direct3D 10 will only run on Windows Vista, the Beta has the same limitation. Since there are no public Beta of Vista available now, you are lost if you're not in the closed Beta program or don't have a MSDN subscription. But this doesn't need to be a showstopper if you are really interested to start developing with Direct3D10 as soon as possible. At first you should register for the DirectX Beta program. After you are accepted you can read the special newsgroups were you can find a post on how you can ask to be nominated for the Vista Beta.
With your own copy of Vista and the current DirectX SDK you will be able to run the samples and tutorials, but the next problem you'll face is that they run slow like hell. Contrary to older Direct3D versions, Direct3D10 will not work with hardware that is not build specifically for the new requirements of this version. This is done to dispose of the unwieldly CAPS mechanism, offering an identical set of D3D10 capabilities for all hardware. But since there is no appropriate GPU available, the runtime will operate with the CPU based emulation called the Reference Rasterizer. A good old friend we already know from earlier versions, but this time it is your only hope to get even something on the screen without the right hardware. If you don't have very good contacts with a big GPU manufacture who may already have such hardware available, there is nothing you can do here.
The samples are nice but there will be some point where you want to roll your own code and as you read MDXInfo, we assume that you want to do it the managed way with C#, Visual Basic.Net or any other .NET language. Unfortunately the SDK does not contain any Direct3D10 sample or tutorial in the managed folder. As there are no samples for Managed DirectX 2 too, there seems to be some hope still, even if there is no documentation for a managed Direct3D10 version. But you can dig as deep as you want, there is no managed Direct3D10 yet. Maybe this gives you the feeling that managed developers are not first citizens in the world of DirectX and there is a high probability that you're right... for now
To ease your pain a little bit we have started a project that brings Direct3D10 to the managed world today. Like the original Managed DirectX, our D3D10 implementation is only a light wrapper around the current unmanaged Direct3D10 beta API. During the next few weeks, we will document the progress and show you how to use this wrapper for your own experiments with Direct3D10.
| Continue reading about MDX10 device creation
Files for this article
Filename | Size |
? MDX10 wrapper & tutorials.zip | 135.7 KB |
Further reading
-
? -
? -
? -
DirectX Developer Center
?