DX11谁主沉浮?3DMark华丽背后的隐患
Tessellation有个中文名字叫“细分曲面”,因为它的工作原理基本靠插入大量新的顶点,让模型的曲面更加细腻。
这样一来,很多人认为Tessellation仅仅是将平面细分来算出细致的模型,事实上这个想法在曲面细分技术诞生之初是对的,但是现在最多只能说对了一半。
毫无方向的“曲面细分”,无助于提升画质,只会闹笑话
因为如果是这么简单的话,Tessellation技术就没有什么实际意义,举个例子大家都会明白。由100个三角形组成的模型,还是免费的将它升级到100000个三角形,但是这个模型如果是个怪兽,我们不再需要圆滑,而是丰富可信的细节,这100000个多边形能有什么作用?
Tessellation牛就牛在它是完全可编程的,换句话说,那就是随机应变的——它提供了多种插值顶点位置的方法来创造各种曲面:
很多用户都知道凹凸贴图(Bump Mapping)、法线贴图(Normal Mapping)等技术,可以通过贴图的方式提升模型的细节。但是这些贴图技术说白了只是在模型表面贴了一层涂料来欺骗我们的眼睛,物理模型本身形状没有任何变化。这样做的结果就是,进行深度较大的视角偏移或者拉近观看,很容易看出破绽。就算请了董卿去,最后终究是要露馅的。
相比之下,曲面细分就实诚的多了。
它可以读取发现贴图的信息,实现真实的顶点位移,直接对模型的外形产生影响,让模型具备真实可信的细节。这个程序模块有多复杂,我不得而知。但是结果就是,这些大量多边形产生模型顶点位移对系统资源占用极小,甚至我们可以认为它的开销是免费的。
如果你还没听明白,就看看上面这幅图。
置换贴图是通过一张黑白贴图,通过颜色深浅的不同来确定对应的顶点的偏移量,控制曲面细分去产生新的顶点,制造出新的模型。
有了它,曲面细分终于可以大展拳脚了!