KHR_EmissiveStrength.cs 1.0 KB

123456789101112131415161718192021222324252627282930
  1. using System;
  2. using System.Collections.Generic;
  3. using SharpGLTF.SchemaReflection;
  4. namespace SharpGLTF
  5. {
  6. class EmissiveStrengthExtension : SchemaProcessor
  7. {
  8. private static string SchemaUri => KhronosExtensions.KhronosExtensionPath("KHR_materials_emissive_strength", "material.KHR_materials_emissive_strength.schema.json");
  9. private const string ExtensionRootClassName = "KHR_materials_emissive_strength glTF Material Extension";
  10. public override IEnumerable<(string, SchemaType.Context)> ReadSchema()
  11. {
  12. var ctx = SchemaProcessing.LoadExtensionSchemaContext(SchemaUri);
  13. var cls = ctx.FindClass(ExtensionRootClassName);
  14. // straightforward extension, nothing to do
  15. yield return ("ext.MaterialsEmissiveStrength.g", ctx);
  16. }
  17. public override void PrepareTypes(CodeGen.CSharpEmitter newEmitter, SchemaType.Context ctx)
  18. {
  19. newEmitter.SetRuntimeName(ExtensionRootClassName, "MaterialEmissiveStrength");
  20. }
  21. }
  22. }