Introduction
KHR extensions are extensions for the GL Transmission Format (GLTF) that allow you to create more realistic models and utilize more advanced effects. They are supported by a wide range of 3D applications. This article will discuss the application of KHR extensions and how to know if you are using them.
Application of KHR extensions
The KHR extensions are a powerful tool for enhancing the realism of glTF models. Some KHR extensions are supported starting from specific versions of the SDK.
Examples of KHR extensions include KHR_materials_volume, KHR_materials_transmission, KHR_materials_pbrSpecularGlossiness, KHR_lights_cmn_color and KHR_lights_cmn_multiplier. These allow for more realistic models, use of advanced effects, physically based optical properties, and physically based lighting.
How to know if you are using unsupported extensions?
- When uploading models with this type of extension, the Studio will display an error and will not allow uploading the model.
WANNA Technology
The renderer used by Wanna currently supports only a few KHR extensions for GLTF models.
All supported extensions are listed here
Blender
In Blender, you cannot choose to use KHR or not. However, if you use an effect in Blender on any of the materials that is only available when applying KHR, then it will be written to the GLTF file during export. In this case, removing the KHR will result in a visual change to the model.
Below, it is indicated which parameters are responsible for KHR and their default values, after changing them the KHR block will be written to the GLTF model.
How to remove KHR extensions from a model:
1) Open gltf model in a text editor, go to 'KHR extensions' block and delete it. Please note, the general model view may be affected.
2) Save the changes
3) If you are using Blender, ensure to not change the default settings, in order to avoid the use of KHR extensions.
4) Re-open the model and confirm the KHR extensions have been removed.
Conclusion: The process of removing KHR extensions from a model is relatively simple, but requires a few steps. By following the steps outlined above, you can successfully remove the KHR extensions from a model. If you are using Blender, be sure to not change the default settings, as this will lead to the use of KHR extensions.
Useful links:
https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos
https://github.com/KhronosGroup/glTF/blob/main/extensions/README.md