cocos渲染过程


run()->while(){mainLoop()}->drawScene()->if(_runningScene)…_runningScene->render(_renderer);->visit()->draw和visit其他内容。

Render就是渲染函数,其中有Camera这个概念,因为cocos是有3d的,camera负责纹理的显示,如visibleByCamera 表示只有肉眼看到的才绘制,看不到的就不绘制了(提高效率)。在render函数中,还有一个Matrix概念,就是将绘制目标的相关信息存储起来的一种数据结构,所以render中要加载各种matrix,因为渲染是按节点层一层一层的向下渲染的,会用到Visit函数,该函数中也有Matrix。注意Draw函数在Node是个虚的,Sprite中有其重载:

_quadCommand.init(_globalZOrder,_texture->getName(), getGLProgramState(), _blendFunc, &_quad, 1, transform, flags);

renderer->addCommand(&_quadCommand); 这段代码表示将相关信息编写一个绘制命令,然后将绘制命令加载执行(显然是多线程的)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值