OpenGL ES

前端之家收集整理的这篇文章主要介绍了OpenGL ES前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

OpenGL ES:是一套图形硬件的软件接口,它直接和GPU进行交互,(GPU,由数千个的小又高效的核心组成,通过图形库使用的。)让我们可以创建实时的3D图形程序。

作用是将3D场景绘制到2D屏幕上,图形学中,这一过程通过一系列的渲染管线完成。

顶点数组:

OpenGL ES 不提供3D模型的定义,再传入OpenGL ES之前,应用程序应该将3D模型转换为一组图元的集合。每个图元都是一个点,线段或者三角形。每个顶点关联一些数据,这些数据包括顶点坐标、颜色、法向量及纹理坐标。。所有这些顶点的数据信息构成顶点数组,传到GL服务端后,即可进行绘制。

顶点着色器:

顶点着色器是一段类似C语言的程序,由程序猿提供并在GPU上执行,对每个顶点执行一次运算。顶点着色器最重要的任务是执行顶点坐标变换。

光栅化:

主要作用是将2D图元转换为一系列的片段。并计算每个片段的位置。每个片段会执行一次片段着色器程序,在片段着色器中使用光栅化计算出的片段位置给每个片段着色,各个片段执行器的执行任然是平行的。

在计算出每个片段的坐标位置之后,片段着色器就能使用这个坐标值对该片段进行着色了,这个片段为最终屏幕上的一个像素点。

片段着色器:

可编程的片段着色器是实现一些高级特效的基础,片段着色器的主要作用是计算每个片段的颜色值。

片段着色器,可以根据顶点着色输出的定点文理坐标对纹理进行采样,以计算片段的颜色,这些值最终会被写入帧缓冲。

片段测试:

片段着色器输出颜色值还要经过几个阶段的片段操作,这些操作便是片段测试。测试包括:像素所有权测试、裁剪测试、模板测试、深度测试、混合、抖动。

渲染管线的并行计算:

OpenGL ES中总是按照顺序执行命令的,但是总是一个一个执行的话,会很浪费时间,所以OpenGL ES采用的是并行执行所有命令,首先是纵向并行,每个阶段会被拆分成多个子任务,这些子任务并行处理。然后是横向,多个顶点,多个图元,多个片段都是独立并行处理的。

帧缓冲:

存储着OpenGL ES绘制的每个像素点的所有最终信息,包括颜色、深度和模板值。

猜你在找的Cocos2d-x相关文章