之前在上一篇的《显卡究竟如何选 技术层面之显卡建模篇》中提及到了三维图形的建立过程做出了基础的介绍,所有三维图形都必须以建模为基础,并对其进行润色才会出现细腻的图形。因此,在建模之后,必须去了解材质与贴图与建模之间的关系,方能认识显卡对于这三者之间的协同作用。因此,本篇文章将主要讲述三维世界中材质赋予与贴图应用的关系。
上一篇中的汽车建模
在上一篇中,为大家阐述了三维图形中的基本构造,也就是建模。细心的读者不难发现,在上篇文章中的建模是没有任何颜色的。也就是说,建模只是确定一个物体的基本构造,结构以及外形。它和色彩,材质没有任何关系。
木板材质
渲染程序中的玻璃材质
材质就是一个物体自身独有的质地。材质可以看成是材料和质感的结合。在三维程式中,它是表面各种可视属性的一个结合。这种属性指材质本身的色彩,纹理,光滑度,透明度,反射率,折射率,发光度等等。为了说明材质与贴图的区别,在此给出一个例子:材质就像一块木板或者石头,将它对半砍开,剖开面依然是它原有材质的属性,也就是它看起来依然是木板或者石头。
木板贴图
而贴图则不同,它只是一个面,一个没有厚度的面,它只在这个面上显示贴图内容。入上图所示,是一张木板纹理的贴图,开发人员可以将这个贴图指定在任意一种材质上,将该材质的表面包裹起来,更换它的表面属性。
贴图应用在材质上
关于贴图应用在材质上的处理手法相当容易理解。如上图所示,包装纸就是一张贴图,它包裹在了礼物(材质)的外面。如果我将这层包装纸(贴图)撕开,那么礼物(材质)将会裸露出来。并且,对于这样一个包装(贴图包裹的材质),无论从任意方向劈开一块,那么剖面将会是内部的礼物(材质)。这就是材质与贴图的关系。
测试软件《天堂》
那么为什么三维图形中需要同时出现贴图和材质呢?材质相对贴图所需要的运算资源要大的多。如果想在画面中呈现一面旗帜,这面旗帜上拥有文字,图形,色彩等等信息。运用材质去对每一个独立个体进行赋予和色彩定义,无论是前期工作量还是后期运算都将会非常庞大。因此,贴图的存在则解决了该问题。通过一个简单的面即可解决这类在画面中相对不重要但是又不得不出现的物体。
《天堂》中的烟雾效果
在《天堂》测试软件中,开启点线建模模式,可以清楚的看到,下方的旗帜以及上方的烟雾都是通过贴图的方式来解决的。旗帜的飘动通过对点与线的运动来改变贴图的位置,赋予贴图可运动的轨迹,即可让贴图看起来像旗帜一样飘扬。而关于烟雾方面,大家所熟知的烟雾均由颗粒组成,如果通过对每一颗粒子运动都进行轨迹和光照运算,那么也许国家级的天河一号计算机也不一定能演算上图的这一团烟雾。因此,采用贴图的方式即可保证仿真度的同时,大幅降低显卡的运算负载。
《天堂》中的石头建筑
三维图形中对于光照影响明显的物体,则需要通过材质来实现。如上图所示,该石制建筑在太阳光照的情况下将出现明显的明暗区别,并且在外部纹理上也会根据光照产生不同变化。对于贴图而言只能对光线进行明暗的局部模拟,所谓有得有失,设计师们在对三维程序的初步设计时必须考虑到哪些物体需要用到材质,而另一些不重要但是必须呈现的则采用贴图,以适应目前显卡计算能力并作出平衡。
《TERA》中的基础贴图
如上图所示,以目前比较火热的MMO游戏《TERA》为例,可以让用户自行设定贴图分辨率。将贴图分辨率调整至最低,可以看到人物服饰以及武器上的颜色基本上是一团糟。远看可能没有太大影响,但是放大拉近了观看则有明显的色块。
《TERA》中的一级贴图
将贴图质量调整至一级,则武器上的纹理有明显改善,至少可以看出武器的基本纹理,虽然还不足以达到清晰的级别,但是已经足够让人从武器的纹理感受到武器本身的威力。
《TERA》中的顶级贴图
将贴图质量调整至顶级,则纹理分辨率达到最佳效果,武器上的贴图纹理最为清晰。并且环境光影也能相对反映出来。不过这样的效果是会增加运算资源消耗的。
不同分辨率的图形容量
在本篇内容中,通过相当长的一个篇幅来说明贴图和材质的关系,材质贴图和显卡又有什么关系呢?这个时候可以通过上图来说明贴图材质和显存的关系。最右边的一张图片是原图,可以看成是最佳材质,左边与中间是通过压缩之后的图片,可以看成是较低级别的画质。尤其是最左边由于压缩比例太大,画面模糊不堪,看不出原有画面是怎么样的了。而中间图片通过压缩,还可以看出画面内容,但是却只使用了原图三分之一不到的容量。
显卡显存
上一篇对于显存和核心的说法,则不难将显卡核心和显存的工作区分开。工厂的流水线(核心处理能力)越多,它也应该有相应的仓库(显卡显存)来存储生产出来的货物(已处理图形信息),再将这些货物销售出去(图形输出)。平衡是一门艺术,对于上述的这种工厂和仓库的关系亦是如此。如果一个小作坊(低性能核心)搭配大型仓库(大容量显存),那么货物还没来得及放满仓库的一半就已经销售出去了。因此这也是一种浪费,一种搭配上的不均等。
|