我觉得有必要再回顾下RexTerrainEngineNode的初始化,因为太重要了。
从构造函数上看,先看看父类TerrainEngineNode的初始化
似乎只是创建了个管理纹理图片的东东。
然而,从这几个require,嗅到了一种不平常的味道,我猜测应该是按照生产者和消费者方式,通过消息队列要各种资源了。
现在虽然都是false,但是还要关注下。蓄势待发。
三个父类:osg::CoordinateSystemNode是用来坐标转换的。
看看另外两个
可见,TerrainEngine类用来创建tile
都是纯虚函数。这样也不能放过。看看它的子类,以及其他用到的地方。
越来越有意思了。
一个是正在调试的TerrainEngineNode
一个是工厂类TerrainTileModelFactory
可见,加这些图层时,都需要通过队列提出请求。
然而,也有两个特殊的。
它们用到的是CreateTileManifest
水平有限,目前没看懂,先贴在这里吧,希望调试完后能搞明白。
跳回来,目前是在说RexTerrainEngineNode的父类TerrainEngineNode的初始化
再看看RexTerrainEngineNode的构造函数
命名
创建uid
必须需要高程
加shader
加个stateset,
加个Group
计算层的坐标范围,并从而强制更新回调和事件回调
就到这里吧