ReFuel.Gltf/ReFuel.Gltf/GltfExtensions.cs
2025-10-12 14:33:16 +03:00

39 lines
1.3 KiB
C#
Executable File

using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Linq;
using System.Reflection;
namespace ReFuel.Gltf
{
public static class GltfExtensions
{
#region ReFuel Extensions
public const string RF_compression = nameof(RF_compression);
public const string RF_compression_deflate = nameof(RF_compression_deflate);
public const string RF_checksum = nameof(RF_checksum);
public const string RF_checksum_sha256 = nameof(RF_checksum_sha256);
public const string RF_texture_qoi = nameof(RF_texture_qoi);
#endregion
#region Khronos Extensions
public const string KHR_lighs_punctual = nameof(KHR_lighs_punctual);
#endregion
public static ImmutableHashSet<string> BaseExtensions { get; }
static GltfExtensions()
{
Type t = typeof(GltfExtensions);
IEnumerable<string> fields = t.GetFields(BindingFlags.Public | BindingFlags.Static)
.Where(x => x.FieldType == typeof(string))
.Select(x => x.Name);
BaseExtensions = ImmutableHashSet.Create(fields.ToArray());
}
}
}