您的位置:首页 > 其它

Windows 8 Metro 游戏开发技术初窥

2012-04-16 22:07 225 查看
3月1号Win8 WCP发布,既然闲着无聊就玩玩Win8吧,写个博客记录一下。

直接进入主题吧...

Win8 Metro 游戏开发只能使用C++,因为C#,VB,JS等目前的图形能力暴弱(据说简单画个图都蛋疼),只有VC++支持的Direct3D和Direct2D可用于游戏开发。 微软应该是基于性能考虑做此决定,当然也有可能是匆匆推出而来不及顾及其他语言。

更让人蛋疼的是,Metro仅支持DirectX 11.1,而目前大多数游戏引擎连DX10的门槛都没有跨过,更别说DX11(.1)了。再加上大部分Win32 API已被屏蔽,这让MS论坛上怨声载道,有些公司已经直接放弃这个项目了,因为现有引擎没法移植——DX9确实太优秀了,也霸占的太久太久了,以至于连11出来了三年都无人问津。 (其实我也不是很看好Metro........ 只是不很~看好.)

其实对于绘制接口抽象的比较好的引擎,移植到11应该不难。简单点,只需要模拟一下原来的固定管道,多写几个shader罢了。而且DX11的灵活度比DX9有了极大的提高,这就为性能优化提供了无限可能... hoho ,题外话。

但就算是DX11,也没有被完整支持。只保留了基础接口,一些库如D3DX,Effect就被砍掉了,而且连D3DCompile都只能用于调试阶段,无法发布。不让我用D3DX,那我就转DirectXMath吧;没有Effects11,我自己管理shader吧,反正它效率也不高;不让我实时编译也算了,我就预编译打包了;居然还不让我用反射?你,你不存心给我找茬么!! ——又跑了一批公司。

就算你克服重重困难,成功移植到DX11,你会悲催的发现,你的引擎只能当DX9用(Feature Level 9),因为移动平台还没有硬件支持到10...

当然也不要太悲观,呵呵,离发布还有半年呢,说不定下一版里就支持了


------------------ Metro App Game DirectX 相关链接 ------------------

Create your first Metro style app using DirectX 入门

Building Metro style games with DirectX 官方论坛

中文论坛

DirectXTK DX11可用的工具包

DirectXTex 新的纹理工具,Win7 Up,Metro可用

------------------------------------------------------------------------------------

VS11是个好东西,特别是Shader调试器,下次专门说说。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: