|
本帖最后由 hdbdf 于 2011-9-16 11:35 编辑
采用VPB生成地形文件,在t_L0_X0_Y0_subtile.ive中的节点类似下面的这样
-
- PagedLOD {
- name "t_L0_X0_Y0_subtile.ive"
- nodeMask 0xffffffff
- cullingActive TRUE
- Center 5660.4 4750.05 15.2847
- Radius -1
- RangeMode DISTANCE_FROM_EYE_POINT
- RangeList 2 {
- 51725.8 1e+010
- 0 51725.8
- }
- NumChildrenThatCannotBeExpired 0
- DisableExternalChildrenPaging 0
- FileNameList 2 {
- ""
- t_L1_X0_Y0_subtile.ive
- }
- num_children 1
- osgTerrain::TerrainTile {
复制代码
当Range大于51725.8的时候显示子节点(命名为节点A),当小于51725.8的时候,动态加载t_L1_X0_Y0_subtile.ive。
t_L1_X0_Y0_subtile.ive文件中的类似如下
-
- Group {
- name "taizhou_L1_X0_Y0_subtile.ive"
- nodeMask 0xffffffff
- cullingActive TRUE
- num_children 4
- PagedLOD {
- nodeMask 0xffffffff
- cullingActive TRUE
- Center 2830.2 2375.02 22.1208
- Radius -1
- RangeMode DISTANCE_FROM_EYE_POINT
- RangeList 2 {
- 25863.2 1e+010
- 0 25863.2
- }
- NumChildrenThatCannotBeExpired 0
- DisableExternalChildrenPaging 0
- FileNameList 2 {
- ""
- ../t_subtile_L2_X0_Y0/taizhou_L2_X0_Y0_subtile.ive
- }
- num_children 1
- 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的这种组织方式是否理解有误?各位大师,解解惑啊
。 |
|