DirectX从C#

前端之家收集整理的这篇文章主要介绍了DirectX从C#前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在研究在C#中使用DirectX的各种选项;理想情况下,我想使用微软首选的任何技术.

非Microsoft技术:

> SharpDX
> Slim DX
> Direct2D Manager Wrapper

微软技术

> WPF
> DirectX 9.0 for managed code (deprecated)
> XNA Framework (deprecated)

我想使用的技术背后的理由:

>我想要一个代码优先框架(而不是在WPF中编写XAML)
>我想(理想情况下)一个不被弃用的Microsoft支持的框架
>我想构建不过分依赖第三方依赖关系的应用程序(即如果我是使用WPF构建一个应用程序,该框架可能已经作为.NET框架的一部分安装在用户计算机上)

问题:

>什么是微软编写DirectX exabled应用程序(WPF除外)的首选方法
>使用不推荐使用的技术(MDX,XNA)有什么危险?
> C#可以使用最流行的非Microsoft DirectX技术是什么?

解决方法

DirectX技术是现代Windows演示和游戏图形的核心,所以有很多不同的途径.您的问题并未真正说明您正在建立什么样的应用程序或您正在尝试定位的平台.

托管的DirectX 1.1在这一点上有很长的问题列表:它不支持.NET 4.x,这意味着VS 2010或更高版本的C#项目默认情况下不能使用它.它使用传统的D3DX9和旧版DirectSetup部署.它不支持64位本机应用程序.它只支持Direct3D 9,而不支持Direct3D 10.x或11.x.它暴露了一堆传统的东西,如DirectPlay和DirectSound.自2006年以来,它还没有更新,并为其寻找样品是一个挑战.它不支持Windows Store应用程序,Windows手机,XBox 360或XBox One.

SlimDX对于拥有现有托管DirectX 1.1应用程序的人来说是一个不错的选择,他希望移动到更好的支持位置.它兼容x64本机应用程序和.NET 4.0.该项目确实在进步方面停滞不前,但它是开源的,所以您可以随时使用它.

XNA Game Studio 4支持.NET 4.0,可以定位到XBox 360,Windows Phone 7,Windows Phone 8(在appcompat中)和Windows 32位应用程序.它不支持x64本机应用程序,内容流水线仅与VS 2010兼容.它使用旧版D3DX9,因此它取决于不推荐使用的DirectSetup部署.它暴露了Direct3D 9,而不是Direcxt3D 10.x或11.x.它不支持Windows Store应用程序或XBox One.它是专门编写游戏的.

Windows Presentation Foundation具有Direct3D9 / Direct3D9Ex interop,但不是Direct3D 10.x或Direct3D 11.x.这是Win32桌面应用程序的一个有用的技术,但不支持Windows Store应用程序,Windows Phone或XBox One.参见MSDN.它不是特别适合制作游戏,但许多游戏开发人员已经使用它的工具管道.缺少DirectX 10.x / 11.x支持是有挑战性的,但您可以使用Direct3D9Ex与DXGI Shared Surfaces配合使用.

SharpDX是现代DirectX API的C#映射的流行选择.它还支持Windows Store和Windows Phone应用程序,并且是一个活动的项目.

BTW,如果您只是直接从C#中直接使用Direct2D,您可能需要查看Win2D.

DirectX and .NET

猜你在找的C#相关文章