在3D中有两种渲染管线,分别是图形渲染管线和GPU渲染管线。app
《Render-Time Rendering Third Edition》一书中将计算机图形渲染的流程划分为3个阶段:应用阶段(Application Stage)、几何阶段(Geometry Stage)、光栅化阶段(Raterizer Stage)组成了图形渲染管线。性能
准备好要渲染的场景数据,如相机,模型,灯光等信息,为提升性能对不可见的物体进行剔除(Culling),最后设置好每一个即将渲染的模型所对应的渲染状态。渲染状态包括但不限于材质,纹理,Shader等。测试
该阶段运行在GPU上。orm
顶点着色阶段的目的即确认顶点处材质的光照效果。像顶点位置,法线等数据都会经过该阶段发送到光栅化阶段。blog
该阶段就是将模型从三维空间投射到二维空间的过程。ip
常见的投影方式有两种:正交投影,透视投影get
裁剪阶段即对部分处于视体内部的图元进行裁剪操做。it
进入该阶段顶点坐标仍然是三维的,但x,y在通过上面的投影阶段已是二维的状态。此时x,y与z坐标组成了窗口坐标系。io
假设在一个窗口里对场景进行绘制,窗口最小坐标(x1, y1),最大坐标(x2, y2)。屏幕映射首先进行平移,随后进行缩放,在映射过程当中z坐标不受影响。新的x和y坐标称为屏幕坐标系,并和z坐标进入光栅化阶段。
屏幕映射阶段便是将获得的坐标映射到对应的屏幕坐标系上。
该阶段也运行在GPU上
计算三角形表面的差别和三角形表面的其余相关数据
扫描三角形覆盖的像素区域,并将重合的像素生产片断(fragment)。
逐像素处理着色运算
图形系统通常都是使用双缓冲机制,也就是最终生产的图像会输出到后台缓冲区(backbuffer),而后交换至屏幕。合并阶段就是将前面全部片断操做(如:颜色缓冲区,alpha通道,模板缓冲区,深度测试结果等)所产生的片断颜色合并至后台缓冲区(backbuffer)。