ROPs单元的全名是Raster Operations Units,中文叫做光栅化处理单元.ROP单元在GPU中的主要作用,就是将全部像素填充进纹理,并使得纹理最终获得正确的表现效果。
“透视”一词源自拉丁文“perspclre”,意为看透。为了将立体物体的图像转化到平面上以完成作画的过程,人们开始了关于透视的研究。最初研究透视是采取通过一块透明的平面去看景物的方法,将所见景物准确描画在这块平面上,即成该景物的透视图。随着研究的深入,人们将在平面画幅上根据一定原理,用线条来显示物体的空间位置、轮廓和投影的科学称为透视学。这种方式,也就成了今天图形渲染工业中Rasterization的基础。
我们所要看到的物体,就是几何单元中创造出来的世界,要将他们反映到屏幕上的过程,实际上就是一个根据透视原理作画的过程,
摄像机镜头或者说屏幕的位置,就是线透法中反映物体形状的平面,而Rasterization过程本质上也正是一次作画的过程。
当几何单元完成对顶点以及模型的操作之后,所有构成世界以及世界内物体的顶点坐标将开始进行3D坐标-2D坐标的方程变换运算,运算的基本规则就是摄像机/屏幕位置与物体之间透视关系的数学描述。随着变换运算的完成,Rasterizer会创建一个由像素构成的2维平面,然后调动Vertex Shader/Unified Shader单元,根据运算的结果将构成模型的顶点一一对应至平面的像素点上。
除了运算常规的变换方程之外,Rasterizer还会对物体的位置进行必要的前后判断,并将被遮蔽物体的顶点予以删除,这部分操作被称为Z-culling。不会被看到的顶点将会被这一步操作裁减掉,不会出现在像素平面上。当所有顶点最终都被一一对应到像素平面上之后,物体的几何外形将被冻结,留下来的,就只有一副投影到2D平面上的由像素构成的画面了。
光栅化操作,是发生在模型完全建立,并且完成基本光照及对应纹理之后的操作环节。除了满足二维平面输出对坐标变换的要求之外,Rasterizer(光栅化)最大的意义在是:由于透视固有的视线前后遮蔽问题,建立好的模型存在很多看不到的部分,光栅化过程对Z值得判断,可以将这些看不到的部分剔除掉,表面上看,极大的减轻了后续的渲染压力。