zoukankan      html  css  js  c++  java
  • 草稿 i3s/3dtiles/gltf/s3m的结构对比

    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程序显示。

  • 相关阅读:
    [Err] 1168
    SpringAOP的运用方式——注解方式和XML配置方式
    展开运算符的理解
    find indexof findindex includes 的区别
    关于MVC MVVM的理解
    sync修饰符
    vue导航守卫
    输入网址到页面显示 经历了什么(转载)
    vue中侦听器的使用
    函数声明的三种方式
  • 原文地址:https://www.cnblogs.com/onsummer/p/12214379.html
Copyright © 2011-2022 走看看