GLB文件格式解析

一、GLB简介

GLB是以GL传输格式(gltf)保存3D模型的一种二进制文件格式。

二、关键数据

解析GLB文件,可以先获取JSON块,然后再依据说明依次解析里面的数据

  • meshes

    • primitives

      表明mesh包含的数据内容,每个值以索引的方式指向buffer view

      • attributes

        POSITION: accessors_ID (表示顶点坐标值)

        NORMAL: accessors_ID (表示顶点归一化后坐标值)

      • indices: accessors_ID (表示索引)

  • accessors

    访问器,可以理解成访问数据的一个接口,以数组形式存储,每个item内容如下:

    • bufferView: buffer_view_ID
    • componentType: 数据类型(如:unsigned short / float ...)
    • count: 数据个数
    • type: 数据存储类型 (如:``SCALAR标量 /VEC3` 3D向量 ...)
  • bufferView

    说明每个数据流的信息

    • buffer: buffer_ID
    • byteOffset: 数据起始位置
    • byteLength: 数据长度
  • buffer

    base64编码的数据

    • byteLength: 数据长度

三、GLB数据

在Windows下搜索3D查看器,点击文件 ==> 3D资源库 ==> 选择模型 ==> 文件另存为即可得到glb模型文件

四、GLB读取

借助JsonCPP库可以读取头部JSON信息,然后解析出位置和索引的相关信息,然后分别进行解析其个数、存储类型等信息。

五、参考连接

https://zhuanlan.zhihu.com/p/65265611

https://blog.csdn.net/hankern/article/details/101796600

https://blog.csdn.net/qq_33656619/article/details/122056159

posted @   半夜打老虎  阅读(8858)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2021-06-20 分水岭
2021-06-20 处理mask图像为单通道彩色图
2018-06-20 pandas练习(三)------ 数据分组
点击右上角即可分享
微信分享提示