// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 namespace GLTFast { /// /// glTF Extensions /// public enum Extension { /// /// KHR_draco_mesh_compression glTF extension /// DracoMeshCompression, /// /// KHR_lights_punctual glTF extension /// LightsPunctual, /// /// KHR_materials_pbrSpecularGlossiness glTF extension /// MaterialsPbrSpecularGlossiness, /// /// KHR_materials_transmission glTF extension /// MaterialsTransmission, /// /// KHR_materials_unlit glTF extension /// MaterialsUnlit, /// /// EXT_mesh_gpu_instancing glTF extension /// MeshGPUInstancing, /// /// KHR_mesh_quantization glTF extension /// MeshQuantization, /// /// KHR_texture_basisu glTF extension /// TextureBasisUniversal, /// /// KHR_texture_transform glTF extension /// TextureTransform, /// /// KHR_materials_clearcoat glTF extension /// MaterialsClearcoat, /// /// KHR_materials_variants glTF extension /// MaterialsVariants, /// /// EXT_meshopt_compression glTF extension /// MeshoptCompression, /// /// KHR_materials_ior glTF extension /// MaterialsIor, /// /// KHR_materials_sheen glTF extension /// MaterialsSheen, /// /// KHR_materials_specular glTF extension /// MaterialsSpecular, } /// /// Collection of glTF extension names /// public static class ExtensionName { /// public const string DracoMeshCompression = "KHR_draco_mesh_compression"; /// public const string MaterialsPbrSpecularGlossiness = "KHR_materials_pbrSpecularGlossiness"; /// public const string MaterialsTransmission = "KHR_materials_transmission"; /// public const string MaterialsUnlit = "KHR_materials_unlit"; /// public const string MeshGPUInstancing = "EXT_mesh_gpu_instancing"; /// public const string MeshoptCompression = "EXT_meshopt_compression"; /// public const string MeshQuantization = "KHR_mesh_quantization"; /// public const string TextureBasisUniversal = "KHR_texture_basisu"; /// public const string TextureTransform = "KHR_texture_transform"; /// public const string LightsPunctual = "KHR_lights_punctual"; /// public const string MaterialsClearcoat = "KHR_materials_clearcoat"; /// public const string MaterialsIor = "KHR_materials_ior"; /// public const string MaterialsSheen = "KHR_materials_sheen"; /// public const string MaterialsSpecular = "KHR_materials_specular"; /// public const string MaterialsVariants = "KHR_materials_variants"; /// /// Returns the official name of the glTF extension /// /// Extension enum value /// Name of the glTF extension public static string GetName(this Extension extension) { switch (extension) { case Extension.DracoMeshCompression: return DracoMeshCompression; case Extension.LightsPunctual: return LightsPunctual; case Extension.MaterialsPbrSpecularGlossiness: return MaterialsPbrSpecularGlossiness; case Extension.MaterialsTransmission: return MaterialsTransmission; case Extension.MaterialsUnlit: return MaterialsUnlit; case Extension.MeshGPUInstancing: return MeshGPUInstancing; case Extension.MeshQuantization: return MeshQuantization; case Extension.TextureBasisUniversal: return TextureBasisUniversal; case Extension.TextureTransform: return TextureTransform; case Extension.MaterialsClearcoat: return MaterialsClearcoat; case Extension.MaterialsVariants: return MaterialsVariants; case Extension.MeshoptCompression: return MeshoptCompression; case Extension.MaterialsIor: return MaterialsIor; case Extension.MaterialsSpecular: return MaterialsSpecular; case Extension.MaterialsSheen: return MaterialsSheen; default: return null; } } } }