● 时间+火候——最棒的Fillrate操作单元
肉块、酱油、调料球和白酒也都已经齐备,该折腾的都折腾完了,现在我们的锅里已经有了一碗红烧肉所具备的一切要素。可截止到目前为止,肉块还是肉块,酱油还是酱油,香料和白酒也都还各自为政,所有的食材还没有完成充分的混合。要让这一锅东西最终变成一碗红烧肉,我们还需要另外两个帮手来搞定最终的环节,那就是时间和火候。
老白干在转小火精炖时还要再补一次
小火慢炖是勾引肉香绝佳的手段,厨房里自古就有“急火鱼慢火肉”的讲究。在小火的长时间精炖下,各色调料会在适宜的温度中慢慢的与食材融合,酱油调制出的红色会附着到肉块表面并沁入其中。只要控制好火候和时间,红烧肉的最终上色和烹制就能顺利完成。甚至对于整个烹调过程而言,最后的精炖过程是最关键也是最重要的。
同样的,我们的图形渲染过程也已经进行到一个关键的节点,我们已经完成了几何处理,通过光栅化过程达成了像素化的要求,从材质库里找到了合适的纹理,并且通过ALU集群的通力运算搞定了这块纹理中所有需要修改的像素的颜色,可这些工作的结果,也就是已经处理好的图元要素却还像锅里的肉块、酱油、白酒以及调料球一样各自独立。如果想要得到一副最终的画面,如小火精炖一般把所有的图元要素牢固的组合在一起才是最后的关键。担当这一关键操作的单元,就是我们所熟悉的ROP。
ROP单元对图形元素的“组装合成”过程分为以下几步:首先,拾取好的材质以及由shader处理完成的像素会被传送到对应的z/stencil buffer进行z/stencil检查和不可见剔除,然后特定范围深度值的像素将被输送到alpha单元进行透明度检查并完成alpha Blending操作,剩下的像素将会被填充进2D化模型需要的范围内,这一过程就是我们常说的Pixel Fillrate。
由于像素上的效果已经被shader以数学的形式处理完毕了,因此如果没有AA操作,那么到这里为止图形渲染工作就算彻底完成了,所有效果的混合及填充将会让正确的画面最终得以呈现,这幅完成处理的画面会被送入output buffer等待输出。而如果程序要求进行AA操作,比如MSAA,那么ROP中的AA单元还需要对填充完毕的画面进行若干次多重采样,然后再对采样出来的像素点进行color Blending操作,完成之后的画面才会被送入帧缓存等待输出到屏幕上。
时间和恰到好处的火候让颜色和味道凝固在了红烧肉中,而ROP则让所有图元要素凝固在了图像中,这就是厨房和图形渲染之间的联系,也是我们一直致力于探寻并共同感悟的大自然赋予万物的奇妙联系。
推荐经销商