Cocos2d-X在文件压缩、图片解析、网络支持、物理引擎、音频等功能上使用了第三方的开源库,使得其更专注于渲染引擎,本节课将概述性的介绍渲染引擎的核心OpenGL ES。
学习OpenGL ES,可以让我们清楚的直到每个UI元素是怎样被绘制,知道如何使用它们才能达到最高性能,知道如何使用着色器来增强画面表现力,也更能看清楚Cocos2d-X的不足之处以及判断其发展趋势。
图片渲染之前是通过CPU进行处理,但是CPU的并行性性能只要体现在其流水线和吞吐量。GPU的出现更完美的实现了并行性解决图片处理,而且GPU的并行性除了处理图片,更能用在大规模并发数据运算。
OpenGL ES就是一套图形硬件的软件接口,其可以跨平台的运行在GPU上,软件开发人员可以直接使用这些API对GPU进行操作。
OpenGL ES的输入为顶点坐标、矩阵、shader、纹理等信息。输入的顶点,在顶点着色器中,经过矩阵(模型视图矩阵、投影矩阵、视口变换)相乘,得到的坐标经过插值运算,传入到片段着色器中,计算各个片段的颜色,之后再经过一些测试(alpha test、depth stencil test、blend、dither),最终得到图片。
在整个pipeline中,纵向按照流水线作业,横线按照独立作业,多级并行、提高渲染性能。
减少渲染次数(VAO、自动剪裁)。
将渲染从主线程分离(暂未实现)。
笔者制作网站的目的,主要是借用自己之前的知识背景(Android App开发和图形学知识),将自己学习笔记拿出来,和大家一起进行交流,毕竟每个人的知识体系不同,有交流才会有提高,所以欢迎大家通过各种方式和我联系。
网址:www.geekfaner.com
youku教学视频:http://i.youku.com/geekfaner
“百度传课”教学视频(高清版_推荐):http://www.chuanke.com/s2588605.html