OpenGL ES 构建的三维空间,其中的三维
实体由许多的三角形拼接构成
。如下图左侧所示的三维实体圆锥,其由许多三角形按照一定规律拼接构成。而组成圆锥的每一个三角形,其任意一个顶点由三维空间中 x、y、z 三个坐标分量来定义。
对于我们日常使用的移动手持设备,手机屏幕窗口由不连续的有限的二维像素小格子
构成的,每一个像素格子有x、y两个分量来定义。
因此在OpenGL ES绘制流程中,其主要工作是将三维空间中的坐标点(x,y,z)构成的三维图形,转化为手机屏幕上的二维像素点
。
这个转化过程主要分为两个步骤:
- 一个是顶点的变换;
三维空间中的实体,经过各种变换(主要是通过矩阵相乘进行坐标系的变换),变为可投影在二维平面上的有限的像素点数据; - 二是渲染着色;
根据传入的顶点颜色数据或图片纹理数据,将相应的颜色对应到响应的像素点。
在OpenGL ES中,其大概的绘制流程如下图所示: