在计算机体系结构中,管线定义为数据序列并用于处理元素。其中,某一元素的输出内容将用作下一阶段的输入内容。
相应地,GPU渲染管线接收3D场景的表达内容,并将作为输入数据。随后,将计算2D多边形的像素颜色,并输出场景图像。
渲染管线主要由以下各阶段组成:
顶点处理阶段,光栅化阶段,片元处理阶段和输出合并操作
顶点处理阶段:针对存储于顶点缓冲区内的各个输入顶点执行各种相关操作,如转换操作
光栅化阶段:将根据顶点对多边形加以整合,并将多个多边形转换成片元集合
片元定义为一组数据,并对颜色缓冲区进行更新(颜色缓冲区定义为某一内存空间,该空间存储的是在屏幕上显示的像素)
片元处理阶段:主要是对各个片元进行操作(如纹理操作),进而通过各种操作确定片元的颜色值。
输出合并阶段:片元与颜色缓冲区中的像素将进行比较或合并操作,进而更新像素的颜色值。
其中,顶点和片元处理阶段均呈现为可编程状态(处于该阶段的相关程序称为顶点程序和片元程序)。当执行此类程序时,用户可针对顶点执行任何转换操作,并可通过各种方式确定片元的颜色值
世界坐标:
视见体:
考虑到相机有限的视域范围,通常无法捕捉到场景中的全部对象。
场景中的可见区域称为视见体,且通过如下4个参数加以定义,即fovy、aspect、n和f。从形状上来看,可将视见体视为一个无限的金字塔对象,其顶点位于