在微软DX11规范的众多新特性中,硬件曲面细分(Hardware Tessellation)无疑是最受玩家关注、同时也最具争议的一项。AMD、NVIDIA虽然都推出了完全支持DX11规范的显卡产品,但因为设计理念的不同而走上了两条路,执行效果和效率自然也有不小的差异。
一、出师未捷
其实早在2001年10月,ATI发布Radeon 8500的时候就加入了一项名为“TruForm”的技术,可以看作是曲面细分的原型。这种基于N Patches的图形纹理技术利用已有三角形创建真实的曲面,从而将表面细分为新的、细节更丰富的多边形模型。
TruForm确实有一定的效果,比如CS里警察的头盔和护镜:
但是该技术并没有得到游戏开发商的普遍采纳,因为它不够完善,经常会导致渲染目标变形,比如Quake里的武器:
这样如果游戏要支持TruForm,就必须单独为不同的模型设置开启和关闭,而且NVIDIA同时试验了N Patches、RT Patches之后决定放弃这类技术,最终ATI也不得不在催化剂驱动里禁用了TruFrom,但依然在硬件上保留了下来。
二、修成正果
经过了ATI的几代研究之后,微软曾经计划在DX10里引入硬件曲面细分,后决定开发更高级的版本而推迟到了DX11,AMD、NVIDIA也相继完成了更复杂、更强大的GPU设计,最终使得硬件曲面细分成为DX11 API渲染管线的一部分,也成了行业标准技术。
那么究竟什么是硬件曲面细分呢?简单地说,这种非常有弹性的技术意在自动将三角形细化得更小、更精细,从而获得增强的细节和真实的外观,而且最重要的是对性能影响并不大。除此之外,还有置换贴图(Displacement Mapping)技术用来辅助曲面细分计算,用来进一步增强画质。
另外因为DX11曲面细分管线是可编程的,就能用来解决大量图形问题,远比之前固顶功能的TruForm灵活得多。