Vertex Shader的功能相当于如下代码:
for (var i:int = 0; i < vertexBuffer.length; i++)
{
executeVertexShader(vertexBuffer[i]);
}
Raster(光栅化):就是把几何数据和像素数据转换为片段的过程。每个片段方块对应于帧缓冲区中的一个像素。
光栅化其实是一种将几何图元变为二维图像的过程。该过程包含了两部分的工作。第一部分工作:决定窗口坐标中的哪些整型栅格区域被基本图元占用;第二部分工作:分配一个颜色值和一个深度值到各个区域。光栅化过程产生的是片断。
把物体的数学描述以及与物体相关的颜色信息转换为屏幕上的像素,这个过程称为光栅化。
Fragment Shader:处理来自光栅化器(Raster)的数据。光栅化器已经将多边形填满并通过流水线传送至像素着色器,后者逐像素计算颜色。名称片断着色器似乎比像素着色器更为准确,因为对于着色器的调用和屏幕上像素的显示并非一一对应。举个例子,对于一个像素,片断着色器可能会被调用若干次来决定它最终的颜色,那些被遮挡的物体也会被计算,直到最后的深度缓冲才将各物体前后排序。
Fragment Shader的功能相当于如下代码:for (var i:int = 0; i < fragmentStream.length; i++)
{
executeFragmentShader(fragmentStream[i]);
}