在SuperMap iClient3D for WebGL中与地形相关的所有类都起源于TerrainProvider。我们来了解下TerrainProvider,按照官方说明TerrainProvider只是定义了一套地形的接口和规范,并不能被实例化,可以理解为所有地形图层类的基类(This type describes an interface and is not intended to be instantiated directly.)
地形效果
这里先列举下TerrainProvider的一些关键属性:
1、tilingScheme:Provider内部地球网格的剖分方式,默认是WGS84坐标,也可以选择墨卡托坐标系。
2、hasWaterMask:设置是否带有水面波纹的特效。
3、hasVertexNormals :设置地形是否包含顶点法线。
4、heightmapTerrainQuality:地形显示的精度,是一个定值,默认是0.25,几何误差允许为1/4,允许相邻高度图顶点之间的屏幕像素增加4倍,从而更快地渲染。
TerrainProvider只是提供一套规范,在Cesium中有两个常用的继承类CesiumTerrainProvider和EllipsoidTerrainProvider
TerrainProvider默认坐标为WGS1984,之前文章讲到的很多ImageryLayer都是WebMercator的,如果地形和影像之间采用不同的坐标系,则影像切片需要动态的转换为地形切片下对应的效果,也就是动态投影的过程。如果考虑性能问题,可以将两者的坐标进行统一。
坐标
网友评论