-
Notifications
You must be signed in to change notification settings - Fork 75
Globe renderer
Starting from 2.3 release, Nutiteq SDK supports globe map rendering. This is implemented as special render projection. It is simple to use and requires minimal changes in code in most cases. To switch to globe rendering mode, simply specify spherical render projection option:
mapView.getOptions().setRenderProjection(Options.SPHERICAL_RENDERPROJECTION);
Likewise, to switch it off, use:
mapView.getOptions().setRenderProjection(Options.PLANAR_RENDERPROJECTION);
View-specific parameters like focus point, rotation, tilt are carried over the switch.
There are few limitation that may need changes in source code:
-
Background plane rendering is not supported. Actually, if specified, background plane is rendered as requested, but this is probably not what is intended. For globe, backdrop image is recommended instead. Backdrop image can be specified using Options.setBackgroundImageBitmap and Options.setBackgroundImageDrawMode(Options.DRAW_BACKDROP_BITMAP)
-
Sky rendering is not currently supported.
Globe rendering requires considerably more resources that flat rendering. There are few options that may increase performance when switched off:
-
Tile fading (in extreme cases may increase performance up to 2x)
-
Tile preloading (has much less impact)
The number of visible raster tiles varies depending on latitude. Near poles tiles are more compressed, thus more textures are needed and performance is somewhat lower.
-
Most available tilesets use EPSG3857 projection, which does not cover poles. If poles should be textured, EPSG4326 tilesets are recommended.
-
Zoom bias may need to be set (Options.setTileZoomLevelBias). This is caused by tiles being inflated near equator while being compressed near the poles.