What is Fermi?(7)

 

重新改良后的光栅引擎

PolyMorph引擎的工作至此已经基本告一段落,在PolyMorph引擎处理完成的数据此时就会传送至Raster Engine(光栅引擎)。实际上,NVIDIA对光栅引擎也进行了一定的改动,接下来我们就来详细介绍一下。

由于PolyMorph引擎的加入,因此经常会出现三角形数量大幅度提升的情况(尤其是当模型被拉近后),NVIDIA为了避免此时的光栅处理成为系统瓶颈,因此在每个GPC当中均设计了一组Raster引擎,在整个GPU当中就存在了四组Raster引擎,并且四组Raster引擎可以并行工作,效能自然要比上一代产品更好。

RE

与PolyMorph引擎一样,Raster引擎同样为线性流程,分别为Edge Setup(边缘设置)、Rasterizer(光栅化器)、Z-Cull(Z坐标压缩)。

下面是Raster引擎执行步骤:

1.Edge Setup当中会对PolyMorph引擎处理的数据进行顶点位置以及三角形边缘的计算,将没有朝向屏幕(例如被前方的多边形遮挡住)的三角形丢掉。每个Edge Setup能够在一个时钟周期内处理一个点、线或三角形。

2.Rasterizer负责将Edge Setup处理完成的基元转换成像素,并且对于开启抗锯齿的处理将会为每一个多采样以及覆盖采样执行覆盖操作。每个Rasterizer能够在单个时钟周期内输出8个像素,因此整个GF100就可以在一个时钟周期输出32个光栅化的像素。

3.在Rasterizer输出像素后,并没有直接进入像素的着色工作。而是继续执行下一步的Z-Cull,Z-Cull提取Pixel Tile(像素图块),并且将图块中像素的深度与显存中的现有像素(之前已经被计算完成的像素存储在显存当中)进行比较,随后将完全处于显存像素后面的像素图块(也就是说屏幕上不可见的像素)从流水线中剔除,避免进一步的像素着 色工作。

posted @ 2010-04-22 15:52  芈希有  阅读(217)  评论(0编辑  收藏  举报