在计算机图形学中,计算机图形管线(渲染管线 或简称 图形管线)是一个概念模型,它描述了图形系统将 3D场景渲染到2D屏幕所需执行的步骤 。
早期计算机图形管线是立即渲染模式(Immediate mode,也就是固定渲染管线),这个模式下绘制图形很方便。大多数功能都被库隐藏起来,开发者很少能控制如何进行计算的自由。开发者就像是一个无情的按开关机器,库提供固定的功能,你按需要打开,后来迫切希望拥有更多的灵活性。随着时间推移,规范越来越灵活,开发者对绘图细节有了更多的掌控,也就有了我们现在的可配置可编程的渲染管线。
上图来自于LearnOpenGL,大家可以自行查阅。
我们根据上图详细描述下计算机图形管线:
-
顶点着色器(可编程),将顶点数组的点逐个传入顶点着色器进行处理,比如说旋转、视图透视投影转换等,再输出顶点数据
-
图元装配(可配置),形成三角形,收集之前的顶点数据转换成一系列有序的简单图元,说明下这里的图元其实就是你写的drawArrays或是drawElements函数中你指定的第一个参数:线,点或三角形。
-
几何着色器(可编程)在OpenGL中是可选的,WebGL中没有。几何着色器以一个或多个表示为一个单独基本图形(primitive)的顶点