Ext.KHR_Iridescence.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using SharpGLTF.SchemaReflection;
  7. namespace SharpGLTF
  8. {
  9. class IridescenceExtension : SchemaProcessor
  10. {
  11. private static string SchemaUri => Constants.KhronosExtensionPath("KHR_materials_iridescence", "material.KHR_materials_iridescence.schema.json");
  12. private const string ExtensionRootClassName = "KHR_materials_iridescence glTF Material Extension";
  13. public override IEnumerable<(string, SchemaType.Context)> Process()
  14. {
  15. var ctx = SchemaProcessing.LoadSchemaContext(SchemaUri);
  16. ctx.IgnoredByCodeEmitter("glTF Property");
  17. ctx.IgnoredByCodeEmitter("glTF Child of Root Property");
  18. ctx.IgnoredByCodeEmitter("Texture Info");
  19. ctx.IgnoredByCodeEmitter("Material Normal Texture Info");
  20. yield return ("ext.Iridescence.g", ctx);
  21. }
  22. public override void PrepareTypes(CodeGen.CSharpEmitter newEmitter, SchemaType.Context ctx)
  23. {
  24. newEmitter.SetRuntimeName(ExtensionRootClassName, "MaterialIridescence");
  25. }
  26. }
  27. }