基于OGRE的海量三维模型动态调度技术的研究与实现 - 李雷(8)

2019-06-11 15:01

virtual void removeExpiredSubgraphs(const 只是作出选择,由哪种方式进行删除

osg::FrameStamp &frameStamp)

virtual void 超过数量删除模式

capped_removeExpiredSubgraphs(const

osg::FrameStamp &frameStamp)

virtual void

过期删除模式

expiry_removeExpiredSubgraphs(const

osg::FrameStamp &frameStamp)

osg::ref_ptr 文件需求队列 19

丨-:!制工程硕士学位论文 基于OGRE的海量三维模型动态调度技术的研究与实现

fileRequestQueue;

osg::ref_ptr 待合并数据列表

dataToMergeList;

double expiry Delay;

过期延迟(过期时间)

int expiryFrames; 过期喊数

表3-3 DatabasePager中与PagedLOD相关的部分

Table 3-3 DatabasePager In Part With PagedLOD

virtual void registerPagedLODs(

在一个子图中寻找所有 PagedLOD 节点,

osgxNode* subgraph, int frameNumber = 0) 并且用 DatabasePager 注册它们,所以它

能追踪到过期的节点 注意,必须从更新线程里调用

void setT^etMaximumNumberOfPageLOD( 设定/奔询数据线程可同时调度的分页 unsigned int target)

LOD 节点的数目

{ _targetMaximumNumberOfPageLOD = target;} 注意,如果超过目标数,多余的活动 .. PagedLOD将会终止。但是一且低于0标

erOfPageLODO const数目’?卿dLOD将会继续加賴0标值

{ return taj^etMaximumNumbcrOfPageLOD; }

★ virtual void updateSceneGraph( 更新场景图

忍nst osg::FrameStainp& frameStamp)

{ reTnoveExpiredSubgraphs(frameStanip); 、 . 、一、..

addLoadedDataToSceneGraph(franieStamp); }〗、移除过期子树 2、添加取数据到场 m

typedef std::list

PagedLOD 节点列表,列表类型

< osg::ref ptr> PagedLODList

class MarlcPagedLODsVisitor 标记 PagedLOD 的访问器

class FindPagedLODsVisitor

寻找 PagedLOD 的访问器

friend class FindPagedLODsVisitor

virtual void removeExpiredSubgraphs( 移除过期子图

constosg::FrameStamp &frameStamp) 注意,只能在更新线程中调用

PagedLODList activePagedLODList

活动/不活动的 PagedLOD 节点列表

PagedLODList inactivePagedLODLi st

unsigned int targetMaximumNumberOfPageLOD PagedLOD 的目标最大数量

3.1.5 DatabasePager独立测试程序

为了将动态数据库DatabasePager运用到OGRE当中,首先要独立使用DatabasePager

来进行前期的测试,看看需要什么参数和返回值。自己编写的独立测试程序

DynamicManage 1完成了这个功能,用自己写的main函数来直接使用DatabasePager的

对象,没有场景树,没有這染环境等其他无关的东西,只有与动态数据库相关的部分。

这样就先掌握了 DatabasePager的参数、返回值、使用方法等原理,后面才能很好的运

用到OGRE当中去。由于使用中会用到帕的概念,所以该程序手动设置第一巾贞、第二中贞

等等,共设置了五顿,本论文仍然用PagedLOD节点为例来进行说明。 20

程硕士学位论文 基于OGRE的海量三维模型动态调度技术的研究与实现

中贞 PagedLOD DatabasePager

声明喊标记 声明分页 声明DatabasePager

指针 节点 对象指针 准 P 备 i |K>.

creat ()生成 : 添加子节

点信息 7

_声明数据库

需求指针

丁- T

V — —---

设为第一桢 设定容量,时

间延迟’帧延 迟 ; ,

? 添加文件请

用 f 阶 m

加入活动 & 分页节点 “I~

S — T图


基于OGRE的海量三维模型动态调度技术的研究与实现 - 李雷(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:基础地质学作业题题库

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: