MCPLive > 杂志文章 > 管窥DirectX 11与通用计算技术

管窥DirectX 11与通用计算技术

2009-09-15陈可《微型计算机》2009年8月下

化繁为简:Tessellation镶嵌化技术

早在XBOX 360平台上,ATI就带来了一项名为“Tessellation(镶嵌化)”的新技术。这项技术的用途就是提升硬件的利用效率、用低的资源获得好的渲染效果——简单点说,我们可以将它比作数据传输中的压缩技术。

Tessellator可以将原始的图形分成很多更小的图形,然后它还可以将这些小图形组合到一起、形成一个新的几何图形,这种几何图形更复杂,当然也更为逼真。打个比方,Tessellator技术可以让某个图形变成立方体,并通过旋转让其从底部看起来像是个球形,而这两者实际上都使用相同的数据,达到节省资源的目的。


Tessellation技术可以将简单的图形演变为复杂的图形

在DirectX 11系统中,Tessellation处理过程包括外壳着色器(Hull Shader,简称HS)、镶嵌器(Tessellator)和域着色器(Domain Shader)三个组件,其中HS外壳着色器负责接收琐碎的图形数据和资料,镶嵌器(Tessellator)只负责分块处理,它根据HS的指令要求生成大批量的、确定数量的点,然后将数据传送给域着色器(Domain Shader),再由它来将这些点转换成3D处理中的顶点,终就生成了相应的曲线和多边形。

如果开发者能够娴熟地运用镶嵌化技术,那么就能够极大程度提升游戏性能、或者说在保有当前性能的条件下显著提升画面品质。这一点我们可以从下面的对比中看出来:在采用传统高细节模型渲染时,原始模型需要动用巨量的三角形,数据量十分之大,终获得354fps的渲染性能。而采用低细节模型和Tessellation技术来生成相同的效果,所需的数据量与前者简直不成比例,渲染性能可达到821.41fps,两者对比非常悬殊。然而,镶嵌化技术也不是万能的:其使用的是一项完全固定的单元,不具备任何可编程能力,这就意味着开发者没有丝毫回旋余地。

这一点看起来与图形技术的发展方向背道而驰。微软之所以在DirectX 11中纳入这项技术,很大原因就是因为Tessellation确实具有显著的效果,以至于微软无法拒绝。

分享到:

用户评论

用户名:

密码: