osg之源码跟踪-----ViewerBase::frame
1、概述
此函数是渲染一帧的主函数,主要做的有以下几点:
a、判断是否为第一帧,如果是则初始化。
b、advance函数,主要做一些时间计算,设置诸如rate之类的状态值,其中Viewer::advance最后还会做对象注销工作,而CompositeViewer::advance不会做这个工作。
c、eventTraversal事件遍历
d、更新遍历
e、渲染遍历
2、示意流程图如下:
1、概述
此函数是渲染一帧的主函数,主要做的有以下几点:
a、判断是否为第一帧,如果是则初始化。
b、advance函数,主要做一些时间计算,设置诸如rate之类的状态值,其中Viewer::advance最后还会做对象注销工作,而CompositeViewer::advance不会做这个工作。
c、eventTraversal事件遍历
d、更新遍历
e、渲染遍历
2、示意流程图如下: