新渲染器的介绍

概述

本文主要以开发者的角度来介绍cocos2d v3.x中的渲染管道。它并不是由核心引擎团队提供的roadmap的替代物。
注意:这将不会涉及到新的渲染管道的大部分实现细节,有想要为此出力的可以参考roadmap的相关文档。
我们先来看一下新的渲染管道的愿景。

愿景

cocos2d v3.x中新的渲染管道致力于通过利用现代大多数移动设备流行的多核处理器来提升渲染性能。同时,api风格又是兼容于v2.x的,所以v2.x的用户将更容易适应它。

目标

新特性和升级的目标可以总结如下:
  • 渲染图解耦
  • Viewing frustum Geometry culling(PS:不知道啥鸟东西)
  • 独立线程渲染
  • 自动批处理
  • (基于Node的)自定义渲染
  • 优化2d,适应3d

Roadmap

自cocos2d v3.0 beta后,渲染器已经将场景图中解耦,它将支持自动批处理和自动选择。
完整的Roadmap渲染资料在这里

新的渲染器的架构概述

正如上文所提到的,每一个渲染的api调用将进入到一个有独立线程的渲染队列,它将直接调用显卡的OpenGL命令。
下面是渲染器架构的图表:

有一段程序负责运行于前端生成各种命令,并将它们发送到CommandQueue等待一个独立的后端线程来处理(排序啊,重新排列啊等)。
命令的格式不在本文档的范围,请参考相关文档。
如果你想拓展cocos2d v3.x的引擎,例如你想定义一个sprite来自定义描绘代码,你可不能像以前一样放到draw()方法了,你应该熟悉相关的命令然后在draw()方法中构建你要的命令。
要了解更多的信息,你可以看一下cocos2d-x v3.0beta中内置的DrawNode

总结

由于cocos2d-x v3.x中的渲染管道才刚刚起步,还需要更多的时间和耐心来让它茁壮成长。开发人员们希望聆听用户们无价的建议和评价,它们欢迎各位通过github去发表自己的意见
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值