1. i3s
i3s是規范,實現i3s規范的是slpk文件,slpk文件是單文件,是zip壓縮包(壓縮格式為“僅存儲”)。
以節點的形式組織。
1.6版本中節點的信息寫在json里,數據存在二進制文件里。
1.7雖然保留了json描述文件,但是新增了節點頁的方式(類似於索引,效率更高了)。
2. gltf如何演進到3dtiles
gltf暫時不了解內部數據結構。
gltf內部是json文本,資源可以是DATAURL,也可以是引用(?未驗證)
gltf將資源和json文本二進制化后即glb,二進制結構圖如下:
glb是一個單文件,便於網絡傳輸。
在glb的前面再加一些二進制數據,構成b3dm二進制文件(單文件)。
在json中引用這個b3dm文件(content鍵),形成的有規范的文件組合,即3dtiles。
3dtiles並不是一個文件,而是一種組織方式。只不過在存儲時,用了glb的變種格式b3dm,描述時用json。
以下是b3dm的結構:
以上是gltf演進至glb至b3dm至3dtiles的過程。
3. s3m
s3m暫未了解,目前只知道也是json+二進制文件描述的方式來保存三維信息的。
4. 為什么要開發這些規范
以往的三維數據格式不便於網絡傳輸。
為了便於網絡傳輸,並且為了效率,使用二進制文件。
但是二進制文件極容易讀錯,所以就不解析,直接讓GL程序顯示。