• 欢迎来到GeekFaner

    每周更新一篇教程,轻松学习cocos2d-x

    联系我们
  • 又是一个美好的一天

    每天的太阳都是新的,今天要比昨天好

    联系我们
  • 出发!

    开始今天的课程学习,让我们的明天更美好

    联系我们

课程概述

“Cocos2d-X的核心OpenGL ES概述(上)”课程概述

Cocos2d-X在文件压缩、图片解析、网络支持、物理引擎、音频等功能上使用了第三方的开源库,使得其更专注于渲染引擎,作为游戏开发者或者游戏引擎开发者,在游戏引擎中最需要了解的就是渲染引擎部分,而渲染引擎的目的就是将游戏逻辑层上的元素绘制到屏幕上,那么会调用到用于跟手机芯片GPU沟通的底层代码,这块底层代码在端游游戏引擎中为 DirectX(for windows),OpenGL(For Unix),而在手游的游戏引擎中绝大多数为 OpenGL ES,所以学习游戏引擎,一定要掌握 OpenGL ES 。本节课将概述性的介绍渲染引擎的核心OpenGL ES。

教学视频

课程笔记

目的

学习OpenGL ES,可以让我们清楚的直到每个UI元素是怎样被绘制,知道如何使用它们才能达到最高性能,知道如何使用着色器来增强画面表现力,也更能看清楚Cocos2d-X的不足之处以及判断其发展趋势。

图片渲染之前是通过CPU进行处理,但是CPU的并行性性能只要体现在其流水线和吞吐量。GPU的出现更完美的实现了并行性解决图片处理,而且GPU的并行性除了处理图片,更能用在大规模并发数据运算。

OpenGL ES就是一套图形硬件的软件接口,其可以跨平台的运行在GPU上,软件开发人员可以直接使用这些API对GPU进行操作。

OpenGL ES Pipeline

OpenGL ES的输入为顶点坐标、矩阵、shader、纹理等信息。输入的顶点,在顶点着色器中,经过矩阵(模型视图矩阵、投影矩阵、视口变换)相乘,得到的坐标经过插值运算,传入到片段着色器中,计算各个片段的颜色,之后再经过一些测试(alpha test、depth stencil test、blend、dither),最终得到图片。

在整个pipeline中,纵向按照流水线作业,横线按照独立作业,多级并行、提高渲染性能。

建立更高性能的渲染引擎

减少渲染次数(VAO、自动剪裁)。

将渲染从主线程分离(暂未实现)。

联系我们

笔者制作网站的目的,主要是借用自己之前的知识背景(Android App开发和图形学知识),将自己学习笔记拿出来,和大家一起进行交流,毕竟每个人的知识体系不同,有交流才会有提高,所以欢迎大家通过各种方式和我联系。
网址:www.geekfaner.com
"极客学院"教学视频(高清版_推荐):http://www.jikexueyuan.com/course/cocos/1-5-0

wangshuo@geekfaner.com