XNA与MDX,无人知晓的路线图

原文作者:Nightmare
原文出处:http://blog.csdn.net/nightmare/archive/2007/03/27/1542927.aspx

XNA的下一版本已经预期在4月发布,而对.NET上DX的前途仍是疑云重重。随着MDX1.1的冻结,人们期望的MDX2/.NET 2.0到MDX10/D3D10的路线图已随着MDX2项目的取消而湮灭。显然,微软不希望MDX抢了XNA计划的风头,而XNA计划的重头戏就是XBox360。MDX2被重新定位,改造成了XNA Framework,目标锁死XBox开发。这样,刹那间,刚刚兴起的.NET/DX开发出现大片真空地带,开发人员面临着要么转到XNA、要么回到C++、要么继续使用不再更新的MDX1.1的困境。

XNA是个设计得非常干净利索的API,它的好处就不用我多说了,C#上开发游戏的首选。但是XNA的一个目标是跨XBox和Windows平台并要达到99%的代码兼容,这使得它在很多地方受限于XBox。最重要的是它不能去支持D3D10,因为XBox360是DX9级的硬件。这些限制使得Windows平台游戏和3D程序的开发受到牵连。而对游戏制作工具和非游戏类3D应用来讲,XNA太过于针对游戏开发了。大量的D3DX辅助功能都被排除在外,而且用DirectSound、DirectInput、DirectShow的话还必须使用MDX1.1。官方的解释是,现阶段的重点是“简化业余人士基于爱好的开发”。

尽管这些做法不能让大家都满意,但确实实现了微软的Vision。这个Vision就是:当今游戏变得越来越复杂,开发成本越来越大,已经达到制作电影的规模,降低开发成本、提高开发速度成为一个迫切的需求。游戏引擎的开发要求很高,人力时间成本也最高,所以将可以预处理的部分转移到开发成本和质量要求较低的制作工具上,可以精简引擎节约成本。这很正确,但这也意味着它假定游戏工具都是内部使用的,同时也完全忽视了非游戏类3D应用。

D3D10则向着更专业的方向前进。不再有D3D9里的简化的初始化过程,接口更贴近硬件的管线模型。特别的一点是,它不再基于COM,而只是单纯的接口。当然对大多数开发人员来讲,D3D10目前不是问题,毕竟它只能在Vista和DX10级显卡上存在。但随着时间推进,它会越来越成问题。

尽管不断有人追问,微软没有透漏一点官方消息。不过从行动上,它的意图却很明显,XNA Framework!在XBox360和PS3的市场争夺战中,XNA Framework是支援XBox的重要力量。将开发人员拉入XBox阵营,利用大众的创造力建立群众基础,经济学术语叫Creative Commons。如果MDX2存在的话,它必然会抢走绝大多数Windows平台的开发人员。而对专业游戏开发来说,绝大多数引擎是基于C++的,.NET的API对他们并不很重要,所以MDX10可以暂缓。一旦XNA现阶段目标完成,他们便可以做一个Windows平台专用的扩展,或者和下一代的基于D3D11的XBox一起推出。但这就变成了一个等待的游戏,也许是一年,也许是五年。另一方面,MDX10似乎和XNA没有多大冲突,毕竟D3D10只能在Vista上使用,和MDX2、XNA的用户群的交集较小。DX10开发组流露了一些制作MDX10的想法,但似乎还是有些犹豫。这样的情况让人很困窘,以致有人威胁说要转到OpenGL。

不管怎么说,开发人员应该已经习惯了DX的跳跃式前进,各个版本都是不兼容的。在引擎设计上隔离好底层API和引擎逻辑,以便日后移植,所谓有备无患。

嘿嘿,自己来整个读后感,至少可以表明转载该文章的原因,如下:
每天的工作是MDX+C#进行三维开发,但是这不是我想要的,因为我看不到希望。不过总有一天我会回到DirectX+C++的道路上来,并且这一天不远了……    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值