KHR_Dispersion.cs 897 B

123456789101112131415161718192021222324252627
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using SharpGLTF.SchemaReflection;
  5. namespace SharpGLTF
  6. {
  7. class DispersionExtension : SchemaProcessor
  8. {
  9. private static string SchemaUri => KhronosExtensions.KhronosExtensionPath("KHR_materials_dispersion", "material.KHR_materials_dispersion.schema.json");
  10. private const string ExtensionRootClassName = "KHR_materials_dispersion glTF Material Extension";
  11. public override IEnumerable<(string, SchemaType.Context)> ReadSchema()
  12. {
  13. var ctx = SchemaProcessing.LoadExtensionSchemaContext(SchemaUri);
  14. yield return ("ext.Dispersion.g", ctx);
  15. }
  16. public override void PrepareTypes(CodeGen.CSharpEmitter newEmitter, SchemaType.Context ctx)
  17. {
  18. newEmitter.SetRuntimeName(ExtensionRootClassName, "MaterialDispersion");
  19. }
  20. }
  21. }