cesium 3dTiles数据结构(续)

1,271 阅读1分钟

上次记录Batched3DModel3DTileContent数据结构分析,本次以Instanced3DModel3DtileContent数据结构为题

Instanced3DModel3DtileContent

先看看Cesium给出的布局结构:

11380.jpg

batchTable,glTF这些都是已有的内容,让我们眼前一亮的是featureTable,Cesium提供了Cesium3DTileFeatureTable来封装。

27541.jpg

占是一个具体的featureTable内容。不难理解这个数据的实例化内容就是Position,Cesium通过ModelInstanceCollection来实现Model的实例化。重点看看Position实例化矩阵的推导原理,强化一下理解的深度。

5379.jpg

如上是对应的Shader和相关的uniform片段。灰选部分是相机的视图矩阵,而rtcTransform则是中心点(_center)应的矩阵,czm_instanced_model是传入的实例化矩阵,czm_instanced_nodeTransform不讨论,是父子节点之间相对位置对应的矩阵。根据Shader的公式,我们不难得出,a_position是相对模型中心点的相对位置,而czm_instanced_model则是当前单个模型的中心点对应模型集合中心点的矩阵。

查看了一下Instanced3DModel3DTileContent实例化对应矩阵的计算过程,数据存储时还是每一个模型中心点的经纬度信息,在内部转成相对集合中心点的相对矩阵。

结束, 关于Content就介绍到这

最后,借鉴‘法克鸡丝’大佬的源码分析