Tessellation又可译作拆嵌式细分曲面技术。其实这是ATI早在其第一代DirectX 10图形核心R600,即HD2900XT上就引入的一个特殊的计算模块。从HD2000系列开始,直到最新的HD5000系列,整整4代显卡全部支持这一技术。即使目前也仍然没有游戏能够支持这一技术,ATI也依然没有放弃在这项技术上的努力——从名字上也可以看出ATI在这项技术上的心血:Tessell-ATI-on。
Tessellation主要是靠GPU内部的一个模块Programmable Tessellator(可编程拆嵌器)来实现的。能够根据3D模型中已经有的顶点,根据不同的需求,按照不同的规则,进行插值,将一个多边形拆分成为多个多边形。而这个过程都是可以由编程来控制的,这样就很好的解决了效率和效果的矛盾。TessellATIon能自动创造出数百倍与原始模型的顶点,这些不是虚拟的顶点,而是实实在在的顶点,效果是等同于建模的时候直接设计出来的。
Tessellation工作流程三部曲
很明显,DirectX 11中的Tessellation让雪山的凹凸感更为明显,远胜于DirectX 10里所采用的视差映射贴图技术。虽然后者在较远距离观看的时候也能提供一定的视觉欺骗性,但和 Tessellation技术塑造出来的真实感觉还相差太远。我们使用的分析图来自AMD在R600发布时放出的一段Demo,这段Demo区别于以往的设计方式,它没有突出主角而淡化背景,因为在没有Tessellation技术之前,大量顶点的生成和随之而来的计算将给GPU的几何处理部分带来巨大压力,无法流畅运行,而Tessellation技术改变了这一模式。
除了大幅提升模型细节和画质外,Tessellation最吸引程序员的地方就是:他们无需手动设计上百万个三角形的复杂模型,只需简单勾绘一个轮廓,剩下的就可以交给Tessellation技术自动拆嵌,大大提高了开发效率;而且简单的模型在GPU处理时也能大幅节约显存开销,令渲染速度大幅提升。