接下来的问题就显得有点棘手了。尽管大商人微软在DirectX 10/11中所强调的图形发展方向在于更加灵活的shader以及更多通用的或者说自然的数学方法的介入,但我们也能够明显的感受到活雷锋这次的放话欠缺积极的响应。目前为止人们所能见到的程序员们对于DirectX 11新特性的理解和应用,更多的甚至是几乎全部的集中在了曲面细分以及纹理方面的改进上。
贴图mark11
以3Dmark11为例,这款本来应该是公正且带有前瞻性的反映全新API特性及硬件性能的测试程序,竟然几乎没怎么使用到DirectX 11的特性,它完全没有理会Compute Shader在图形处理过程中的应用,对于使用DC进行辅助计算的测试也仅仅是以体现存在感级别的方式出现在了测试场景的最后,就连曲面细分这种DirectX 11中不怎么重要但却能抓人眼球的改进,3Dmark11也未过多的予以涉及,甚至你在测试选项中将DirectX 11相关的数个选项从满级设定拉到最低设定,测试时的帧数也不会有很明显的变化……整个3Dmark11测试的最核心,几乎可以说就是大材质的操作能力,仿佛整个世界只存在Gather4这一条指令一样,这直接导致了3Dmark11被冠上了一个“贴图mark11”的名号。
使用CS处理DOF特效的地铁2033
游戏程序端的状况更加惨淡。放眼望去,除了使用Compute Shader处理DOF特效的地铁2033之外,真正意义上可能支持DirectX 11新特性的就只剩下还未登场的BattleField3所使用的寒霜2引擎了。我们所能够见到的几乎所有的号称支持DirectX 11级别特效的程序,都只是利用了Shader Modle4.0与Shader Modle5.0之间高度的互通性完成了基本的快速支持而已,甚至某些游戏连Gather指令都懒得用,直接以Shader Modle5.0的路径来执行传统代码了事。就连一直站在图形界前沿,以应用各种全新技术为骄傲的资本的Crytek,在Crysis2 DX11版本中也未对Compute Shader进行必要的支持,而是将几乎全部的精力都投入到了各种贴图应用的革新,甚至Crysis2的DX11版本还附带一个高精度纹理包,好像生怕自己没有用够硬件的TMU单元和显存一样。
对于导致目前这个现状的原因,虽然笔者自己给出过解释,但说实话,我依旧不能平息心中的郁闷——这世界究竟怎么了……
寒霜2引擎也许是DirectX 11复兴的希望
诚然,像素效果和纹理效果代表着图形表现的两个不同方向,拥有更好的像素效果可以让整个环境以及物体表面拥有逼真的光线和色彩表现,而拥有高分辨率的纹理则可以让物体获得贴近真实的外表,这两种特效方向是相辅相成的,忽略了谁最终都无法让用户获得完美的图形体验。事实上像素单元和纹理单元也确实是一组平行的处理过程,拾取的纹理和计算好的像素特效必须经由ROP的混合才能达成最终的效果。微软在每个版本的API更新中也确实尽量做到了一碗水端平,在强调灵活shader应用的同时给予了纹理材质部分充分的照顾。但目前的状况,确实程序员们几乎全部无视了微软在像素端的更新,将几乎全部的精力都投入到了已经十分强大的TMU单元的使用中。
徒有DirectX 11之表的Dirt2
一个摆放在现实世界中缺乏细节而且外表模糊的纸盒子,跟一个画卷中极尽细节刻画之能事、拥有超大材质但却几乎没有什么有效光照效果的纸盒子,究竟哪个更加“真实”和“美丽”呢?这个简单的道理我懂,你懂,程序员懂,所有人都懂,但我们都仅仅是懂,却无力改变些什么……
现实光线下并不精致但非常真实的模型
也许,关于像素和纹理,以及像素单元和纹理单元究竟哪个更重要的争论,只有屏幕前的你才知道答案并可以予以终结吧。
三秦IT网的官方微信:更多资讯请关注:三秦IT网官方微博