在OpenGL中一切都是三维的,但是我们的屏幕是一系列像素组成的二维数组,所以OpenGL做的一系列庞大工作都是在把三维空间中的坐标点转化成最终屏幕上的二维像素点,这个过程就是我们常说的图形管道 Graphic pipline
2D坐标和2D像素也是有区别的,一个2D坐标是指2D空间中一个精确的位置,而2D像素是这个2D坐标在屏幕分辨率下的一个近似值。
Graphic pipline 通过一系列步骤来把3D坐标转化成屏幕上的二维像素。其中每一个步骤依赖上一个步骤的结果作为输入,类似流水线,其中每个步骤都高度专业化,每个步骤都用专门的api函数,而且很容易并发执行,正是因为这种并发性目前大多数显卡拥有成千上万的小处理核通过执行shader程序来快速计算图形管线中的数据。