osg 源码剖析(一)frame函数剖析
来源:互联网 发布:java处理json数据 编辑:程序博客网 时间:2024/06/05 03:11
osg 是基于MVC模式进行的。
frame函数包含了整个引擎在渲染一帧的过程中所要做的所有事情。这个函数是viewbase的成员函数。对于单视景体和多视景体都是一样。
该函数所执行的主要工作如下:
1、如果这是仿真系统启动后的第一帧,则执行viewerInit();此时如果还没有执行realize()
函数,则执行它。
2、执行advance 函数。
3、执行eventTraversal 函数,顾名思义,这个函数将负责处理系统产生的各种事件,诸
如鼠标的移动,点击,键盘的响应,窗口的关闭等等,以及摄像机与场景图形的事件回调
(EventCallback)。
4、执行updateTraversal 函数,这个函数负责遍历所有的更新回调(UpdateCallback);
除此之外,它的另一个重要任务就是负责更新DatabasePager 与ImagePager 这两个重要的分
页数据处理组件。
5、执行renderingTraversals 函数,这里将使用较为复杂的线程处理方法,完成场景的筛
选(cull)和绘制(draw)工作。
可以看出mvc模式是C先行,也就是事先响应C端的事件,比如用户的GUI事件,以及事件回调
接着是更新数据就是M端,这个可能是来自于C端产生的数据变化,也可能是lod加载造成的变化,
可以看出几何和纹理是分开两个线程的,这是为了分页数据处理
最后是V端,这个地方主要是利用opengl的渲染管线进行绘制。
阅读全文
0 0
- osg 源码剖析(一)frame函数剖析
- osg源码剖析(2)eventTravel事件处理
- Azureus源码剖析(一)
- GDAL源码剖析(一)
- GDAL源码剖析(一)
- GDAL源码剖析(一)
- chromium源码剖析(一)
- Chrome 源码剖析(一)
- Atlas源码剖析(一)
- chromium源码剖析(一)
- STL源码剖析(一)
- GDAL源码剖析(一)
- Hessian源码剖析(一)
- 【Linux 内核网络协议栈源码剖析】connect 函数剖析(一)
- 【Linux 内核网络协议栈源码剖析】connect 函数剖析(一)
- STL源码剖析(一)
- Chrome源码剖析【一】
- QEMU源码剖析(一)
- [PCB] Allegro常见的文件后缀含义与释义
- Eclipse用法和技巧汇总
- 词向量源码解析:(3.2)GloVe源码解析之vocab_count
- 练习二 水仙花数
- linux常用命令
- osg 源码剖析(一)frame函数剖析
- 手机定位:获取我的位置经纬度
- Terminator快捷键及其它设置
- 机房收费系统(五)验收前总结
- #CCF准备一年日常刷题#201403相反数
- vi的方便配置和命令记忆
- Reactor模型
- CSS样式不生效错误排查
- 系统学习深度学习(三十三)--SSD