前言:时间总是在不经意间就从指缝中溜走了,一转眼GPU大百科全书的连载已近过半了,感谢诸位在这些日子里的陪伴和坚守。在过去的近3个月里,我们在GPU的流水线中进行着各种各样新奇的游历,我们随着一组又一组的数据,从几何端进入到GPU内部,先是经历了赋予图形灵魂的几何调整过程,接着又面对了收割生命一般的光栅化阶段,然后又在shader单元当中目睹了全新图元生命的诞生。相信这几段风格迥异但目的相同的旅程,已经能够让你对各种对应的图形单元以及整个图形流水线的作业情况有所了解了。在今天的GPU大百科全书中,我们将来到GPU的另一个重要单元——Texture Array面前。
图形流水线是一个in-order的顺序执行过程,所以我们的旅程才可以按照“几何—光栅化—接下来的步骤”这样一步一步的进行下去。但当我们来到光栅化单元之后的部分时,岔路出现了。实际上对于像素的处理以及对于材质的处理是没有绝对的先后次序的,像素单元处理好像素特效,材质单元抓取并完成贴图操作之后,ROP才会将两者混合。因此,本篇GPU大百科全书的阅读过程免不了要跟前一章发生许多联系,希望读者们能够在阅读时建立并适应这种联系。
其实纹理单元,或者说大家见得更多的称呼——TMU单元,其工作内容以及结构相对其他单元来说都不复杂,相信本章的阅读不会给大家带来太多的困惑。那么接下来,就请大家放松心情,一起看看Texture Array的故事吧。在今天的故事中你不仅可以领略TMU单元成长的点滴精彩,更能看到一个泥瓦匠最终成长成数学家的奇闻。
另外,我们将会换一种更加轻松的方式来演绎今天的故事,如果你是一位想提前接触故事核心然后再返回来补充细节的读者,可以考虑直接点击这里。
好了,关于TMU单元的故事,现在开始了。
● 一个泥瓦匠的成长故事
其实,Texture Array是一个较新出现的词汇,它的目的在于应付材质单元从传统的单一贴图操作转向更加全面应用的需要。在更早的时候,纹理单元其实一直都被称为Texture Mapping Unit,也就是我们熟悉的TMU。
TMU单元结构
材质操作可以说是整个图形操作中最为古老的部分,由此而生的纹理单元也就成了整个图形硬件中最资深的单元之一。TMU的作用,归根到底就是对材质的贴图和过滤操作。根据程序的需要,在完成几何处理和光栅化之后,TMU单元会从材质库中找出合适的纹理贴在对应的位置上以实现模型的外形完整化,这就是TMU单元的日常工作,这工作从本质上其实和泥瓦匠没什么太大区别。在3D图形出现之初,人们通过贴图来实现几乎全部的特效,对于早期的图形硬件来说,材质性能几乎就意味着一切性能。几乎每一家厂商的硬件都以填充率为金科玉律,如果你的填充率比我多个几M,弄不好我的硬件销量就要下滑好几个百分点。
以贴图性能为重要指标的VOODOO2
在那个仿佛已经成为歌谣一般的遥远时代,TMU单元有着怎样境遇呢?
三秦IT网的官方微信:更多资讯请关注:三秦IT网官方微博