包含的头文件看上去有四部分;自身的;tiny_gltf目录下的,从名字看是处理gltf模型格式的;OSG相关的;QT相关的,多数是处理Json格式的;
有2个命名空间;
scially命名空间下看上去是转换为B3DM格式,写入B3DM文件;
internal命名空间下看着是一些颜色和图像的辅助函数;
先看一下 OSGBConvert::toB3DM 函数,是不是转换为B3DM格式,输入参数是字节数组类型的地址,使用的是QT的字节数组类,参数名是buffer;
从最后一句看,看上去是把b3dm格式的内容写入了buffer指向的空间;
OSGBConvert::convertGLB()函数
nodeLocation_变量定义在OSGBConvert.h中,看上去是一个osgb文件的全路径文件名;
函数一开始调用osgDB::readNodeFile函数,看上去是读取了osgb文件的全部节点,并以root为根节点;我还不知道osgb文件格式是不是按节点组织的,没研究过;
然后nodePath_这个变量没看清是什么,它定义一个变量,
OSGBPageLodVisitor lodVisitor(nodePath_);
从名字看是一个访问器,因为前面读取了节点信息,访问器可能是用来访问节点的;
然后root接受这个访问器;
然后看访问器的几何体数组是否为空,为空则输出osgb文件包含0个几何体;
那么到此