cocos creator渲染笔记

cocos creator2.0以上的版本对之前的渲染流程进行了优化,根据渲染renderTag,使用查表法进行渲染数据的更新.

creator中渲染组件都要继承cc.RenderComponent,这个是渲染组件的基类,如果要自定义渲染组件,需要重写cc.RenderComponent的_resetAssembler 及_activeMaterial 方法,_resetAssembler 在组件创建的时候会去调用,会在组件生命周期方法之前执行,主要负责创建并初始化渲染组件的 Assembler 实例。_activeMaterial 方法负责创建并设置渲染组件所使用的材质实例,会在组件启用及材质修改时调用。

 

creator渲染最后涉及到的一些关键代码,base-renderer.js,forward-renderer.js,render-flow.js,device.js,cc.render.

渲染流程:

CCDirecor中的mainLoop中

再到cc.renderer

继续执行到render-flow

在RenderFlow.visitRootNode中会遍历整个场景的结点,并且将组件中改变的数据更新,将组件中的数据更新到

_batcher(model-batcher.js)中,下一步_batcher进行提交,

再调用_batcher.terminate()提交数据到GPU缓存中,为接下来的渲染做准备,

在_forward.render中会处理当前场景的渲染状态,材质,光照,通道,着色器,及更新着色器的统一变量,

最后会调用device.draw进行绘制.

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值