cocos渲染过程

来源:互联网 发布:活塞五虎有多厉害 知乎 编辑:程序博客网 时间:2024/06/11 01:29


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); 这段代码表示将相关信息编写一个绘制命令,然后将绘制命令加载执行(显然是多线程的)。

0 0
原创粉丝点击