- 是啥?
khronos推出的,致力于使其成为3D界的JPEG那样的通用格式的一种格式。目前支持多种常用的三维软件通过插件直接读写gltf格式,比如Maya、3dmax、unity等等,assimp也支持了gltf格式的读写。 - 为啥要用?
1、glTF = The GL Transmission Format,使用gltf可以享受三维数据格式统一的好处,并避免各个三维软件间处理大量的导入/导出脚本有缩放问题,动画问题,纹理绑定问题,材质问题。甚至连opengl中的纹理平铺方法这类的属性都保存下来,保证效果一定是对的了。
2、对GL的api非常友好,可以用glBufferData将每个缓冲区加载到GPU中,然后用glVertexAttribPointer解析每个访问器,以绑定到缓冲区中每个顶点元素的位置。
3、使用pbr材质模型
Scenes and Nodes
可能有多个场景,每个场景可能有多个根节点,但多数情况只有一个场景,一个根节点。
每个节点可以包含一个名为子节点的数组,该数组包含子节点的索引。
应当递归的处理所有节点,伪码如下:
traverse(node) {
// Process the meshes, cameras, etc., that are
// attached to this node - discussed later
processElements(node);
// Recursively process all children
for each (child in node.children) {
traverse(child);
}
}