我所理解的cocos2d-x 怎么样

发布网友 发布时间:2022-04-23 19:48

我来回答

1个回答

热心网友 时间:2022-04-27 05:53

跟其他讲解怎么使用Cocos2d-x游戏引擎及其API不同,这本书偏重于讲解Cocos2d-x引擎实现的一些原理,例如渲染器的设计,纹理的一些基础知识,内存管理,即便像脚本Lua这种完全偏应用的知识,作者却是在讲Lua脚本引擎的工作机制。


一部分读者对这种写作方式不是很买账,毕竟有些读者只是想找本书直接教他怎么快速开始做游戏。至于为什么会写出这种奇葩的书,根据在QQ群和其他一些场合作者的观点:

市面上已经大量存在入门教程类的书籍,没有必要再多一本类似的书坑读者

对于一个从事游戏开发或者图形学相关的程序员来讲,作者认为扎实的图形学基础非常重要,尤其对于希望为自己长期发展考虑的程序员

Cocos2d-x主要是一个渲染引擎,很多读者也想系统学习OpenGL等相关知识,作者认为以一个著名的游戏引擎为例,来讲解其中对OpenGL ES的应用,这是一个非常好的主意介绍OpenGL。


当然这样奇怪的内容结构对一部分读者来讲有些不习惯,这部分确实也不是给初级玩家看的,但是对于已经具备一些Cocos2d-x或者游戏开发经验的朋友来说,这部分至少可以让你获得或者强化以下知识:


C++内存管理的相关知识,这在第二章有大量的篇幅。

字体的渲染原理和机制,几乎全篇幅分析Freetype的实现原理,而不仅仅是Cocos2d-x的API怎么用,相信了解原理之后大部分字体的问题自己都会有思路去解决。

纹理的所有相关知识。并不是讲一些技巧怎么优化纹理,而是将纹理所有的知识分析出来,内存结构,压缩纹理,纹理格式,在OpenGL中的使用。

OpenGL ES着色器语言,当然这部分你可以很容易从其他资料学习

OpenGL ES的数据流传输方式,很多书讲GL都不会着重讲这些顶点,纹理,索引等其它数据怎么传输到GPU,怎么定义这些变量,以及这些变量怎么存储,SIMD数据机构及处理指令。

帧缓冲,详细分析GPU内存对象的结构,布局,绑定等等。学习这些的重要意义不仅仅在于可以从CPU取回渲染的图像结果,现代3D游戏渲染使用到的Deferred Shading技术更是需要对GPU内存对象有非常好的了解。

片段测试也是一项很有用的技术,它不仅仅是用来做裁剪的工具。GPU渲染每两帧之间都是的,不需要保存这种状态数据使得其可以高效渲染,但是有时候我们需要适当的数据来反映多帧之间的一种联系。这就是模板测试发挥威力的地方,比较著名的应用包括Shadow Volume的应用。

脚本引擎的原理。很多人经常遇到脚本相关的纹理,其实理解Lua脚本引擎与C++的关系及其原理,你还会遇到什么解决不了的问题呢

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com