Ext.KHR_Transmission.cs 1.1 KB

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