要想了解渲染管线,首先我们要了解什么是流水线:
一、流水线的概念
假设,老王有一个洋娃娃的工厂,一个洋娃娃的生产流程可以分为4个步骤:
1.制作洋娃娃的躯干。
2.缝上眼睛和嘴巴。
3.添加头发。
4.给洋娃娃进行最后的产品包装。
在流水线出现之前,只有在每个洋娃娃完成了以上这4个步骤之后,才能开始制作下一个洋娃娃。如果说每个步骤需要的时间是1小时的话,那么4个小时才能生产一个洋娃娃。
但是后来人们发现一个更有效的方法,即使用流水线。虽然制作一个洋娃娃仍然需要4个步骤,但不需要从头到尾完成全部的步骤,而是每个步骤由专人来完成,所有的步骤并行进行。也就是说,当步骤1完成了制作躯干的任务并把其交给步骤2时,步骤1又开始进行下一个洋娃娃的制作了。
使用流水线技术可以提高单位时间的生产量,当流水线处于饱和时每1个小时就可以生产一个洋娃娃。
二、什么是渲染流水线
渲染流水线的工作任务在于由一个三维场景出发、渲染一张二维图像。换句话说,计算机需要从一系列顶点数据、纹理等信息出发,把这些信息最终转换成一张人眼可以看到的图像。而这个工作通常是由CPU和GPU共同完成的。
渲染流水线从概念上大致可分为:
1.应用阶段(输出渲染图元)
2.几何阶段(输出屏幕空间的顶点信息)
3.光栅化阶段(输出图像)
A)应用阶段主要分为以下三个阶段:
1.数据的加载:
所有渲染所需的数据都需要从硬盘中加载到系统内存中。然后网格和纹理等数据又被加载到显卡上的存储空间(显存)中。这是因为显卡对于显存的访问速度更快,而且大多数显卡对于内存是没有访问权