查看: 1831|回复: 2

VPB动态PagedLod加载数据的疑惑

[复制链接]

该用户从未签到

发表于 2011-9-16 11:34:40 | 显示全部楼层 |阅读模式
本帖最后由 hdbdf 于 2011-9-16 11:35 编辑

采用VPB生成地形文件,在t_L0_X0_Y0_subtile.ive中的节点类似下面的这样





  1. PagedLOD {
  2.   name "t_L0_X0_Y0_subtile.ive"
  3.   nodeMask 0xffffffff
  4.   cullingActive TRUE
  5.   Center 5660.4 4750.05 15.2847
  6.   Radius -1
  7.   RangeMode DISTANCE_FROM_EYE_POINT
  8.   RangeList 2 {
  9.     51725.8 1e+010
  10.     0 51725.8
  11.   }
  12.   NumChildrenThatCannotBeExpired 0
  13.   DisableExternalChildrenPaging 0
  14.   FileNameList 2 {
  15.     ""
  16.     t_L1_X0_Y0_subtile.ive
  17.   }
  18.   num_children 1
  19.   osgTerrain::TerrainTile {

复制代码




当Range大于51725.8的时候显示子节点(命名为节点A),当小于51725.8的时候,动态加载t_L1_X0_Y0_subtile.ive。

t_L1_X0_Y0_subtile.ive文件中的类似如下





  1. Group {
  2.   name "taizhou_L1_X0_Y0_subtile.ive"
  3.   nodeMask 0xffffffff
  4.   cullingActive TRUE
  5.   num_children 4
  6.   PagedLOD {
  7.     nodeMask 0xffffffff
  8.     cullingActive TRUE
  9.     Center 2830.2 2375.02 22.1208
  10.     Radius -1
  11.     RangeMode DISTANCE_FROM_EYE_POINT
  12.     RangeList 2 {
  13.       25863.2 1e+010
  14.       0 25863.2
  15.     }
  16.     NumChildrenThatCannotBeExpired 0
  17.     DisableExternalChildrenPaging 0
  18.     FileNameList 2 {
  19.       ""
  20.       ../t_subtile_L2_X0_Y0/taizhou_L2_X0_Y0_subtile.ive
  21.     }
  22.     num_children 1
  23.     osgTerrain::TerrainTile {


复制代码


裂分四叉树,包括一个Group,四个Pagedlod的节点。在此的Pagedlod节点中,

当Range大于25863.2的时候显示子节点(命名为节点B),当小于25863.2的时候,动态加载t_subtile_L2_X0_Y0/taizhou_L2_X0_Y0_subtile.ive。这样依次的递归。



上面的节点A和节点B(红色字体中的)是Addchild方式加载的,这样当细节层次很高的时候,每一级都会不断的AddChild,虽然当不处于视点范围时候,节点A和节点B等其他同样Addchild的节点是不会绘制的,但是始终处于内存中,当数据量很大的时候,会不会存在问题呢,不知道我对VPB的这种组织方式是否理解有误?各位大师,解解惑啊

该用户从未签到

发表于 2011-9-19 08:46:46 | 显示全部楼层
addChild加入的总是最粗糙的级别,并且不要忘了它的父节点是可以动态被卸载的PagedLOD,在实际使用时不会有什么问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表