一.什么是openGL
OpenGL被定义为“图形硬件的一种软件接口”。从本质上说,它是一个3D图形和模型库,具有高度的可移植性,具有非常快的速度。
二.管线
管线这个术语描述了opengl渲染的整个过程。openGL采用cs模型:c是CPU,s是GPU,CPU给GPU的输入是vertex信息和Texture信息以及uniform , GPU的输出是显示器上显示的图像。下面这2个图比较清楚的讲解了opengl的渲染管线。
三.管线详解
下面这个图取自《OpenGL ES 3.0编程指南》,此流程为可编程管线。
1.VBO/VAO (顶点缓冲区对象或顶点数组对象):
VBO/VAO(到底是啥,下回讲解)是cpu提供给GPU的顶点信息,包括了顶点的位置、法向量、顶点索引、颜色(只是顶点的颜色,和纹理的颜色无关)、纹理坐标(用于纹理贴图)等顶点信息。
2.VertexShader(顶点着色器):
顶点着色器是处理VBO/VAO提供的顶点信息的程序。VBO/VAO提供的每个顶点都执行一遍顶点着色器。Uniforms(一种变量类型ÿ