在mapbox中实现3dtiles的加载和绘制(移动端)
一、解析3dtiles数据和提取gltf模型文件 可参照这篇文章:解析3dTiles数据和提取b3dm模型文件 1.解析tileset.json文件 可以参照 cesium.js 或者 cesium-native,这两个库都是借用第三方库rapidjson进行解析。 以下是cesium-native的示例代码: 2.解析b3dm模型文件 如上图所示,一个b3dm模型中,存储了很多信息,我们的目标是提取出glTF二进制文件,所以需要出去表头字节数: 二、绘制glTF模型 1.坐标转换 3dtiles的坐标为墨卡托坐标系,单位是米,需要转换为mapbox的坐标系,单位是像素: 2.mapbox添加GL_UNSIGNED_INT索引类型 mapbox中OpenGL的绘制,默认的顶点索引类型为UShort,不支持GL_UNSIGNED_INT的索引类型,需要添加GL_UNSIGNED_INT类型: 三、在mapbox中添加3dtiles的layer 1.在mapbox中添加3dtiles的layer 2.mapbox添加style layer的代码流程图 3.mapbox添加render la…