争论漩涡中心的曲面细分
有竞争的地方总会有争吵,虽然偶尔感觉聒噪,但也总比鸦雀无声来的好些,毕竟说明这地方还有人烟,还有关注。
都在说DIY市场受到了整机特别是笔记本很大的冲击,但一个DX11的发布,还是引来了NVIDIA和AMD双方声嘶力竭的对吼,显然说明这个市场还是蓬勃的,至少大家还都很重视,不愿轻易输这一阵。我们也乐见双方这样的争吵出现,毕竟这表示它们没有倦怠,还在通过产品技术的升级进行着宿命般的伟大竞争。
但犹如神仙打架,我们这些凡人也只是看着天上彩云飞舞,雷电交加,热闹看够却不知其然。不小心哪位神仙的天兵跌落凡间,没准还要殃及无辜。就好像这次双方的DX11大战,不管是率先发难的AMD还是奋起直追的NVIDIA,都把焦点集中到了一个很长的名字上——Tessellation!口水仗打了不少,其实也没几个普通用户了解这是个啥,有啥作用。这个名词普遍被接受的中文翻译叫做“曲面细分”,在专业领域也往往被称作“镶嵌”,由于国内IT媒体普遍采纳了“曲面细分”这样一个称呼,所以在后文中,我们也从善如流,使用这个称谓。
实际上,曲面细分绝不是DX11更新的全部内容,从某种角度看,甚至称不上最具革命性的更新,那为什么A/N双方对于曲面细分这样的在意,寸土不让,NVIDIA以GTX400系列拥有超强的曲面细分性能而自居,而AMD在开始推广DX11显卡时也把重点放在了对它的诉求上,甚至目前被最广泛使用的DX11测试程序Heaven也基本是围绕着曲面细分来做文章?
简单的讲,虽然在改善增强画质方面DX11有不少新特性,但在短期内可以立竿见影看到效果、游戏开发商最容易掌握的就是曲面细分技术。这种容易使用又能出效果的东西,在DX11普及的漫长的初级阶段,将会是最能代表DX11效果和性能的技术,自然会引来各方关注,所以大家也就理解了为什么NVIDIA和AMD在这个问题上争吵不休了。
那曲面细分到底是什么?能为我们这些普通玩家带来什么?这正是本文要重点讲述的内容,让大家知其然后,自己判断它能否左右您的选择。
DX11中的曲面细分引擎
当厂商以及用户开始神话曲面细分的时候,可能它自己都没想到能有这样出人头地的一天。实际上,曲面细分也是DX11收编的“散兵游勇”。
曲面细分最早出现在专业领域,在蛰伏了多年后,终于被AMD引入到PC图形技术中,通过R600系列的发布,见诸于桌面图形市场,但由于没有微软给予的官方身份,专属性太强,无论是其它图形核心生产厂商,还是游戏开发商,都很难也不愿意去跟进这样的技术。幸好AMD为微软打造的Xbox 360图形核心Xenos采用了它,而且由于主机市场的封闭性,Xbox 360的大量游戏中都采用了曲面细分技术,使得微软亲自体验到了它的好处,并终于在DX11中收编,通过自己的标准强势推广,否则还真不知道它要在边缘徘徊多久。
实际上,我们所说的曲面细分的作用,只是机械的为一个多边形模型增加更多的多边形数量,这就是其核心内容,如果不加前后期控制,这样的技术对于提升图形效果起不到任何作用,对于性能反而还会起到负面影响。
之所以在DX11中曲面细分会有改善画质的作用,我们通过一张DX11流水线图的观察就能发现其原因。在增加了Tessellator外,流水线前面还多出了Hull Shader后面还增加了Domain Shader两个模块,也就是说要想通过曲面细分获得图形效果提升,必须在曲面细分前后加以人工控制,不能任由其发挥。
对于Hull Shader、Tessellator、Domain Shader这三个新加入的单元的作用,上面这张图给予了较为明确的回答。Hull Shader主要负责定义细分等级(LOD)和相关控制点在细分中的“形变”趋势,这里的形变之所以加引号,是要说明这种形变仅仅是类似于曲率改变等小幅度的变化,而非大幅度的多边形位移;Tessellator则负责根据HS传输下来的信息,通过暴力增加多边形去实现HS的要求;Domain Shader负责的最重要的功能就是通过贴图控制的方式,实现模型的形变,也就是我们大家在DX11的细分曲面中看到的高细节画面。
通过上述的分析,大家应该可以得出一个结论,实际上细分曲面负责的仅仅是为后续的提升画质的运算提供物质基础,无论是置换贴图和平滑效果,都需要有大量多边形的存在才能实现。试想,如果开发者想在一个三角形上通过置换贴图实现一座城市的地貌效果,空有精美的置换贴图,区区三个顶点如何形变拉伸?巧妇难为无米之炊。但如果给你100000个顶点呢?事情就容易多了。
实际上,从用户的角度讲,这一段的内容并不重要,从曲面细分上获得什么样的快乐才是他们关心的,而非原理。