1.概念:渲染流程(pipeline),顾名思义说的就是计算机生成图像的步骤。我们把渲染流程分为三个阶段:
(1)应用阶段:
CPU把数据(如顶点坐标、法向量、纹理坐标、纹理)通过数据总线传给GPU
主要做三件事:准备场景数据(模型,光照等),把视野范围外数据剔除,设置好模型的渲染信息(材质、纹理等)最后输出渲染图元即点、线、三角面等数据。
应用接口: OpenGL DirectX
该阶段由CPU负责。
(2)几何阶段:
当收到渲染图元后进入几何阶段,该阶段负责对渲染图元进行操作,如顶点坐标变换、光照、剪裁、投影以及屏幕映射,最后输出经过变换和投影之后的屏幕空间的二维顶点的坐标、纹理、着色等数据。
简而言之,几何阶段的主要工作就是“变换三维顶点坐标”和“光照计算”。
该阶段由GPU负责。
关于顶点变换(Vertex Transformation)或者说坐标系变换,包括:
Object space -----模型坐标;
World space -----世界坐标;
Eye space -----视点坐标;
Clip and Project space ------裁剪空间坐标
(3)光栅化阶段:
这个阶段负责完成最后的工作,根据屏幕空间的二维顶点数据在屏幕上操作每个像素点绘制图形。
光栅化是将几何数据经过一系列变换后最终转换为像素,从而显示在设备上的过程,其本质是坐标变换,几何离散化。
该阶段由GPU负责。