标签:
转载的,就不翻译了…微软把精力放到xna去了。所以推荐大家用XNA,如果非要用托管的DirectX也可以,只不过版本一直是2006年的了。
具体方法:
安装SDK之后
他默认的位置在
C:\WINDOWS\Microsoft.NET\Managed DirectX
把里面相应版本的Microsoft.DirectX.Direct3DX.Dll都复制到
C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0
在项目里面就可以添加引用了。
With the DirectX SDK (June 2010) release and the addition of support for Visual Studio 2010, I’ve been seeing a lot of questions of the form:
How do I create a DirectX .NET application in Visual Studio 2010? I can’t find Microsoft.DirectX to add to my project but I have the DirectX SDK (June 2010) release installed.
As with many seemingly simple questions on a technical topic, this one is actually quite complex.
Back in the days of DirectX 7 and DirectX 8, there was support included for using DirectX from Visual Basic. While most developers used DirectX APIs via C and C++, there was intense interest in the hobbyist community to access this technology. Thus the focus on enabling Visual Basic developers. When working on DirectX 9, Visual Basic had become unified with the .NET family of languages and thus Managed DirectX 1.1 was created (with a great deal of individual passion and effort from Tom Miller and others on the DirectX team at the time). It was designed for the .NET 1.1 Runtime, and include managed wrappers for the whole family of DirectX technology: Direct3D 9, D3DX9, DXDIAG, DirectDraw, DirectInput, DirectPlay, DirectSound, and a simple wrapper for DirectShow. The focus shifted from the Visual Basic language to C#, although VB .NET could still be used.
Note: The DirectX 7 and 8 Visual Basic 6.0 support I mention here is no longer available as of Windows Vista. It was part of DirectX 9.0c and was included with Windows XP Service Pack 2&3, Windows Server 2003 Service Pack 1 & 2, and Windows XP Professional x64 Edition.
With the release of .NET 2.0, there was an effort to update Managed DirectX to use the new constructs and in 2005 there was a Managed DirectX 2.0 Beta included as part of the DirectX SDK. As this effort was underway, a major reorganization at Microsoft took place and when the dust settled, the relatively small team that had been working on this technology suddenly found themselves as the seed of an entirely new effort around .NET gaming development: XNA Game Studio. The Managed DirectX 2.0 project was shelved, and all the effort focused on this new more comprehensive end-to-end solution for the indie game developers targeting Windows, Xbox 360, Zune, and eventually Windows Phone 7.
Managed DirectX 1.1 as it stands today is deprecated. It was last updated in April 2006 to match that version of D3DX9, while the Managed DirectX 1.1 documentation was last updated in August 2005. The last DirectX SDK to include the samples and documentation for Managed DirectX 1.1 was August 2006. Since that time, we’ve continued to include the Managed DirectX 1.1 assemblies in the DirectX SDK Developer Runtime, the DirectSetup REDIST folder, the DirectX End-User Runtime package, and the DirectX End-User Runtime Web Installer to simplify legacy deployment and support existing applications that relied on it. This last support for Managed DirectX 1.1 deployment is likely to be removed in a future DirectX SDK update.
At this point, Managed DirectX 1.1 is really beginning to show it‘s age.
/platform:anycpu
on a Windows x64 system). You must build with /platform:x86
and stay within the limits of the 2 GB memory space of 32-bit applications.The last bullet here is the heart of the issue I started out with in this post. The Visual Studio 2010 toolset only supports developing .NET 4.0 applications, and therefore Managed DirectX 1.1 as a .NET 1.1 technology is not supported by Visual Studio 2010. BTW, it is possible to use the Visual Studio 2010 IDE to build .NET 2.0 applications using older toolsets through multi-targeting, but this is really using legacy tools which do work with .NET 1.1 era assemblies.
The modern version of the DirectX SDK is designed for C/C++ native developers. If you are looking for .NET solutions for using DirectX technology, there are many options available although the choice of solution depends on your specific needs:
/platform:x86
, no support for DirectX 10.x or DirectX 11, more focused DirectX API support), but includes numerous tools and a vibrant developer community. Those original hobbyist developers Tom Miller wanted to help are very well served by this product, as is the professional and indie game developer looking for a complete solution for writing .NET games.FXC.EXE
) tool.If these solutions don’t work for you, you can always write your own managed wrapper using standard native interop constructs or use Managed C++/CLI to write the DirectX portion of your application in C/C++ using the DirectX SDK. The Windows Presentation Foundation D3DImage class can be a useful way to do this interop, although the use of Direct3D9Ex on Windows Vista and Windows 7 can cause some problems with components like D3DX9 which you should watch out for.
标签:
原文地址:http://www.cnblogs.com/rainbow70626/p/4783925.html