转-ogre 渲染流程
ogre渲染流程:
1. _fireFrameStarted()
2. 按某种优先级更新所有渲染目标
2.1 firePreUpdate()
2.2 更新所有视口
2.2.1 fireViewportPreUpdate()
2.2.2 场景管理的渲染函数
2.2.2.1 更新阴影
2.2.2.2 更新动画
2.2.2.3 更新节点
2.2.2.4 更新一些参数
2.2.2.5
清空渲染队列
2.2.2.6 填充渲染队列 进行可见性判别
2.2.2.6.1 firePreFindVisibleObjects()
2.2.2.6.2 查找可见节点并加入渲染队列
2.2.2.6.3 firePostFindVisibleObjects()
firePreRenderQueues();
2.2.2.7
依次渲染每个队列组
2.2.2.7.1 fireRenderQueueStarted()
2.2.2.7.2
渲染该队列组
fireRenderSingleObject()
preRender()
渲染
postRender()
渲染
postRender()
2.2.2.7.3 fireRenderQueueEnded()
firePostRenderQueues();
2.2.3 fireViewportPostUpdate()
2.3 firePostUpdate()
3. _fireFrameRenderingQueued()
4.
swapBuffer()
5. _fireFrameEnded()