glTF, the dreamed format to share 3D data?

The Graphics Language Transmission Format, also known as glTF, came to bridge the gap between 3D production (within 3D modelling softwares) and 3D consumption (in modern graphics applications & game engines).

Let’s remember the context before glTF was born. Before 2015, the year in which the format was released, 3D modelling formats required a long conversion process to be loaded on game engines. Moreover, there were only a few popular formats that allowed to make this transfer less painful, like FBX and OBJ.

FBX is a rich and well-known exchange format supporting most 3D data information such as meshes, NURBS, scene hierarchy, subdivisions, materials, lighting and animations. However, it has strong limitations, like the lack of support for PBR (Physically based rendering) — the current standard for materials — which disqualifies FBX, for realistic rendering.

On the other hand, OBJ is supported by most 3D software, as it is very easy to implement and man readable. However, when it comes to speed and efficiency, this format has its drawbacks. Indeed, since OBJ is a non-optimized format, it is heavier and longer to generate. Furthermore, it is made for “dead” geometry, as it has limited 3D information, which means no animation, no skeleton, no lighting…This is why you will find that OBJ is more relevant for the early “staging” steps of your production pipeline.

In consequence, before 2015, an interoperable format that was both complete and optimized didn’t exist. And with the arrival of broadband internet and 3D computing power in every device, this situation was calling for an urgent change.

Therefore, Khronos Group designed the glTF format, combining a rapid-to-parse JSON descriptor file (containing meshes, hierarchy, materials, animations and cameras) with external binary files storing all the large data, like geometry, animations & textures.

To make it simple, the JSON file is compact and fast to analyze, as it is clear text. On the other hand, binary files are stored in such a way that they are quickly loaded into GPU (graphic processing unit). This makes the glTF format preserve the full hierarchy scene while being fast to load and lightweight.

You can load your 3D files in your render engine even faster with the GLB format, the full binary version of glTF. GLB is self-contained (JSON descriptor, textures, geometry, and animations are stored in one single file) making it up to 30% faster to load than glTF.

Most of the time, developers and artists prefer editing their models in the glTF format to then convert it into a transportable GLB format. This makes the file easier to share on a web application or use in VR or AR cases.

Advantages of glTF 2.0 format

glTF is the result of a joint effort by the main 3D industry leaders, hence the fact that it is supported by more and more software every day. As a positive side effect, it is extensible: each editor can enrich the format (for example with the Draco compression extension), so we can expect more and more useful features.

Credit: Khronos Group

As mentioned earlier, the glTF and GLB are lighter and faster to load than most other formats.

When it comes to respecting the original data, glTF format is considered state-of-the-art, preserving hierarchy, skeletal and morph targets animations, GLSL Shaders, Texture files and PBR materials.

glTF is getting more and more traction on the web as it is supported by most web-3D Viewers, like Three.JS, Sketchfab, Babylon.JS…

You can even import glTF files directly in advanced game engines like Unity, thanks to the Runtime glTF Loader for Unity3D.

What about glTF & Pixyz?

When it comes to transforming industrial CAD models into lightweight, web-ready glTF files (including Point Clouds), Pixyz is the go-to solution. Indeed, with Pixyz products, you can import almost any CAD file, whatever its size and complexity, prepare it by using the full extent of Pixys’ optimization functions, and export it as a glTF/glb file. All format features are supported, including PBR materials and animations. With the 2020.2, we’ve boosted our technology to grant you up to 70% reduction in glTF/GLB importing time.

In addition, glTF files creation can be scaled, using Pixyz Scenario Processor on AWS, to build content creation pipelines, generating e-commerce assets on demand, for example. (Here is a video demonstration of what can be achieved)

Another use case, where using Pixyz to generate glTF/glb files out of CAD models is interesting and powerful, is preparing MixedReality-ready assets to be used with a HoloLens 2. For instance, the recent no-code Microsoft Dynamics 365 Guides app that lets you build immersive training and learning experiences, can be used and implemented with GLB models. However, you’ll need to follow the hardware rendering guidelines to get a rich and fluid step-by-step experience. Leveraging Pixyz lets you get any of your CAD data within your D365 Guides by respecting the polygons & materials count.

Check the tutorial on how to convert and optimize your assets for Dynamics 365 Guides with Pixyz Studio.

Finally, with Pixyz products and glTF you’ve got everything you need to share and exchange any 3D / CAD assets to most targets.

Give it a try!

PiXYZ Software is the new solution for large CAD data automatic preparation, optimization & review, at scale for VR / AR.