Advertisement

osgEarth Rex引擎原理分析(一一八)TileNode tileKeyValue作用

阅读量:

目标:(十八)中的问题56

用于给着色器传递瓦片的编号x/y/z/range。

1、创建瓦片时,设置此变量

复制代码
 osgEarthDrivers/engine_rex/TileNode.cpp

    
 void
    
 TileNode::create(const TileKey& key, TileNode* parent, EngineContext* context)
    
 {
    
     unsigned tw, th;
    
     _key.getProfile()->getNumTiles(_key.getLOD(), tw, th);
    
  
    
     const double m = 65536; //pow(2.0, 16.0);
    
  
    
     double x = (double)_key.getTileX();
    
     double y = (double)(th - _key.getTileY()-1);
    
     _tileKeyValue.set(
    
     (float)fmod(x, m),
    
     (float)fmod(y, m),
    
     (float)_key.getLOD(),
    
     -1.

全部评论 (0)

还没有任何评论哟~