opengl渲染管线是一系列数据处理过程,作用是将应用程序的数据转换到最终渲染的图形。简单来说,opengl渲染流程主要包括顶点变换,图元装配,纹理或着色和光栅化四个阶段。
顶点变换:所有的图形在计算机中都是一串串数据,在三维坐标系中可以表示为一个N*3的矩阵,N为顶点的数量,3分别代表x、y、z位置坐标,顶点变换就是通过一系列矩阵变换在坐标系中对顶点进行平移、缩小放大、旋转等操作;
通过三个矩阵,模型视图矩阵,投影矩阵,视口矩阵直接转换到屏幕坐标。
通过模型视图矩阵转换到-1到1的单位立方体,然后进行剪裁和光照计算,再通过视图矩阵转换成屏幕坐标。
图元装配:图元装配就是告诉电脑怎么去连接这些顶点,例如三个点,可以画成一个三角形,也可以连成两条直线;
着色,纹理:就是对图元进行颜色渲染或者纹理渲染,注意这里的颜色或者纹理并不代表可以实际看见,必须光栅化后输出帧缓存才能实际可见;
光栅化:经过以上步骤,基本上一个图形就形成了,但是这个图形的坐标还是在自己的坐标系中,光栅化就是将图形的坐标转化为屏幕像素坐标,最终将图元的数学描述转化为用于显示在屏幕上的片段,然后通过帧缓存就可以在电脑上看到一