我将停止在XNA中的游戏项目,因为据我所知,它的开发即将结束(并且它已经落后于当前技术了)。因此,我需要采用新的框架或API。
我花了2天的时间研究C ++,并认为它确实不适合我-但是我确实发现对DirectX的原始访问很有吸引力。SharpDX听起来是一个不错的起点,但是它没有文档,也没有代码注释。我觉得还没准备好使用。
我对使用过这两个框架之一或两者的人们的观点感兴趣,以帮助我确定应该学习哪个框架?感谢您的任何建议。
我将停止在XNA中的游戏项目,因为据我所知,它的开发即将结束(并且它已经落后于当前技术了)。因此,我需要采用新的框架或API。
我花了2天的时间研究C ++,并认为它确实不适合我-但是我确实发现对DirectX的原始访问很有吸引力。SharpDX听起来是一个不错的起点,但是它没有文档,也没有代码注释。我觉得还没准备好使用。
我对使用过这两个框架之一或两者的人们的观点感兴趣,以帮助我确定应该学习哪个框架?感谢您的任何建议。
Answers:
我是SharpDX的作者,所以我的建议会有所偏颇,但是我至少希望对您的一些担忧做出回应。
关于SharpDX文档,当前状态非常有限,因为到目前为止我一直在努力从.NET和新的Win8 OS中引入整个DirectX API。在此方面,我已经结束了我的工作,我正在努力提供一个完整的网站和一些文章,以解释SharpDX的关键概念以及如何充分利用它。另外,请记住,该项目主要是为了将DirectX引入.NET,因此它仍然是一个低级API。因此,它需要您深入研究C ++ API的行为,以了解其工作方式。幸运的是,SharpDX中几乎每个方法都可以映射到DirectX API中的一个方法,因此通过检查DirectX API可以很容易地检查如何使用方法。SharpDX 2随附的文档系统。
SharpDX准备好用于开发游戏了吗?简而言之,是的。
首先,我被一家日本公司聘用,参与了C#新3D引擎的开发,并且我们将SharpDX用于Windows的渲染后端。
其次,我收到了来自使用SharpDX开发多媒体应用程序的公司的开发人员的私人邮件(包括游戏,关卡编辑器,在线照片发布等)。这些客户中有一些很大(不幸的是,我不能引用他们)。
最后,一些公共开源项目正在使用(或将使用)SharpDX作为其主要后端渲染。例如,Delta Engine已经在其Direct3D11渲染中使用SharpDX(也将在Win8中使用)。Upcomming ANX项目(一个开放源码的XNA继任者)也使用SharpDX的渲染,游戏手柄和音频管理。
但是SharpDX只是构建游戏引擎和开发游戏的第一步。因为API是低级的,所以您不能期望拥有与XNA这样的框架所使用的相同的高级功能。但是,使用最小的框架,您可以做很多事情。
另外,您可以考虑使用像Unity这样成熟的产品来用C#开发便携式游戏。