public string ToJson() { var f = new JsonFormatter(); f.BeginMap(); f.KeyValue(() => name); f.Key("primitives"); f.Value(primitives); f.EndMap(); return(f.ToString()); }
protected override void SerializeMembers(JsonFormatter f) { f.Key("targetNames"); f.BeginList(); foreach (var x in targetNames) { f.Value(x); } f.EndList(); }
public static void Serialize(ref glTFExtension materialExtensions, float value) { var f = new JsonFormatter(); f.BeginMap(); f.Key(nameof(emissiveStrength)); f.Value(value); f.EndMap(); glTFExtensionExport.GetOrCreate(ref materialExtensions).Add(ExtensionName, f.GetStore().Bytes); }
public string ToJson() { var f = new JsonFormatter(); f.BeginMap(); if (!String.IsNullOrEmpty(name)) { f.Key("name"); f.Value(name); } if (pbrMetallicRoughness != null) { f.Key("pbrMetallicRoughness"); f.Value(pbrMetallicRoughness); } if (normalTexture != null) { f.Key("normalTexture"); f.Value(normalTexture); } if (occlusionTexture != null) { f.Key("occlusionTexture"); f.Value(occlusionTexture); } if (emissiveTexture != null) { f.Key("emissiveTexture"); f.Value(emissiveTexture); } if (emissiveFactor != null) { f.Key("emissiveFactor"); f.Value(emissiveFactor); } f.EndMap(); return(f.ToString()); }
public static glTFExtension Serialize(params string[] args) { var f = new JsonFormatter(); f.BeginList(); foreach (var arg in args) { // エスケープとかあるし f.Value(arg); } f.EndList(); return(new glTFExtensionExport().Add(ExtraName, f.GetStore().Bytes)); }
public string ToJson() { var f = new JsonFormatter(); f.BeginMap(); if (!string.IsNullOrEmpty(name)) { f.KeyValue(() => name); } if (children != null && children.Any()) { f.Key("children"); f.BeginList(); foreach (var child in children) { f.Value(child); } f.EndList(); } if (matrix != null) { f.KeyValue(() => matrix); } if (translation != null) { f.KeyValue(() => translation); } if (rotation != null) { f.KeyValue(() => rotation); } if (scale != null) { f.KeyValue(() => scale); } if (mesh >= 0) { f.KeyValue(() => mesh); } if (skin >= 0) { f.KeyValue(() => skin); } if (camera >= 0) { f.KeyValue(() => camera); } f.EndMap(); return(f.ToString()); }
public static void Serialize_gltf_buffers_ITEM(JsonFormatter f, glTFBuffer value) { f.BeginMap(); if (!string.IsNullOrEmpty(value.uri)) { f.Key("uri"); f.Value(value.uri); } if (value.byteLength >= 1) { f.Key("byteLength"); f.Value(value.byteLength); } if (value.extensions != null) { f.Key("extensions"); value.extensions.Serialize(f); } if (value.extras != null) { f.Key("extras"); value.extras.Serialize(f); } if (!string.IsNullOrEmpty(value.name)) { f.Key("name"); f.Value(value.name); } f.EndMap(); }
public static void Serialize_gltf_accessors__sparse_indices(JsonFormatter f, glTFSparseIndices value) { f.BeginMap(); if (value.bufferView >= 0) { f.Key("bufferView"); f.Value(value.bufferView); } if (value.byteOffset >= 0) { f.Key("byteOffset"); f.Value(value.byteOffset); } if (true) { f.Key("componentType"); f.Value((int)value.componentType); } if (value.extensions != null) { f.Key("extensions"); value.extensions.Serialize(f); } if (value.extras != null) { f.Key("extras"); value.extras.Serialize(f); } f.EndMap(); }
public static void Serialize_gltf_textures_ITEM(JsonFormatter f, glTFTexture value) { f.BeginMap(); if (value.sampler >= 0) { f.Key("sampler"); f.Value(value.sampler); } if (value.source >= 0) { f.Key("source"); f.Value(value.source); } if (value.extensions != null) { f.Key("extensions"); value.extensions.Serialize(f); } if (value.extras != null) { f.Key("extras"); value.extras.Serialize(f); } if (!string.IsNullOrEmpty(value.name)) { f.Key("name"); f.Value(value.name); } f.EndMap(); }
public static void Serialize_gltf_materials__occlusionTexture(JsonFormatter f, glTFMaterialOcclusionTextureInfo value) { f.BeginMap(); if (value.strength >= 0) { f.Key("strength"); f.Value(value.strength); } if (value.index >= 0) { f.Key("index"); f.Value(value.index); } if (value.texCoord >= 0) { f.Key("texCoord"); f.Value(value.texCoord); } if (value.extensions != null) { f.Key("extensions"); value.extensions.Serialize(f); } if (value.extras != null) { f.Key("extras"); value.extras.Serialize(f); } f.EndMap(); }
public static void Serialize_gltf_materials__normalTexture(JsonFormatter f, glTFMaterialNormalTextureInfo value) { f.BeginMap(); if (true) { f.Key("scale"); f.Value(value.scale); } if (value.index >= 0) { f.Key("index"); f.Value(value.index); } if (value.texCoord >= 0) { f.Key("texCoord"); f.Value(value.texCoord); } if (value.extensions != null) { f.Key("extensions"); value.extensions.Serialize(f); } if (value.extras != null) { f.Key("extras"); value.extras.Serialize(f); } f.EndMap(); }
public static void Serialize_gltf_animations__samplers_ITEM(JsonFormatter f, glTFAnimationSampler value) { f.BeginMap(); if (value.input >= 0) { f.Key("input"); f.Value(value.input); } if (!string.IsNullOrEmpty(value.interpolation)) { f.Key("interpolation"); f.Value(value.interpolation); } if (value.output >= 0) { f.Key("output"); f.Value(value.output); } if (value.extensions != null) { f.Key("extensions"); value.extensions.Serialize(f); } if (value.extras != null) { f.Key("extras"); value.extras.Serialize(f); } f.EndMap(); }
public static void Serialize_gltf_bufferViews_ITEM(JsonFormatter f, glTFBufferView value) { f.BeginMap(); if (value.buffer >= 0) { f.Key("buffer"); f.Value(value.buffer); } if (value.byteOffset >= 0) { f.Key("byteOffset"); f.Value(value.byteOffset); } if (value.byteLength >= 1) { f.Key("byteLength"); f.Value(value.byteLength); } if (value.byteStride >= 4 && false) { f.Key("byteStride"); f.Value(value.byteStride); } if (true && value.target != 0) { f.Key("target"); f.Value((int)value.target); } if (value.extensions != null) { f.Key("extensions"); value.extensions.Serialize(f); } if (value.extras != null) { f.Key("extras"); value.extras.Serialize(f); } if (!string.IsNullOrEmpty(value.name)) { f.Key("name"); f.Value(value.name); } f.EndMap(); }
protected override void SerializeMembers(JsonFormatter f) { if (children != null && children.Any()) { f.Key("children"); f.BeginList(); foreach (var child in children) { f.Value(child); } f.EndList(); } if (!string.IsNullOrEmpty(name)) { f.KeyValue(() => name); } if (matrix != null) { f.KeyValue(() => matrix); } if (translation != null) { f.KeyValue(() => translation); } if (rotation != null) { f.KeyValue(() => rotation); } if (scale != null) { f.KeyValue(() => scale); } if (mesh >= 0) { f.KeyValue(() => mesh); } if (camera >= 0) { f.KeyValue(() => camera); } if (skin >= 0) { f.KeyValue(() => skin); f.KeyValue(() => extras); } }
public string ToJson() { var f = new JsonFormatter(); f.BeginMap(); f.KeyValue(() => buffer); f.KeyValue(() => byteOffset); f.KeyValue(() => byteLength); if (target != glBufferTarget.NONE) { f.Key("target"); f.Value((int)target); } if (target == glBufferTarget.ARRAY_BUFFER) { f.KeyValue(() => byteStride); } f.EndMap(); return(f.ToString()); }
public string ToJson() { var f = new JsonFormatter(); f.BeginMap(); f.KeyValue(() => bufferView); f.KeyValue(() => byteOffset); f.KeyValue(() => type); f.Key("componentType"); f.Value((int)componentType); f.KeyValue(() => count); if (max != null && max.Any()) { f.KeyValue(() => max); } if (min != null && min.Any()) { f.KeyValue(() => min); } f.EndMap(); return(f.ToString()); }
protected override void SerializeMembers(JsonFormatter f) { f.KeyValue(() => bufferView); f.KeyValue(() => byteOffset); f.KeyValue(() => type); f.Key("componentType"); f.Value((int)componentType); f.KeyValue(() => count); if (max != null && max.Any()) { f.KeyValue(() => max); } if (min != null && min.Any()) { f.KeyValue(() => min); } if (sparse != null && sparse.count > 0) { f.KeyValue(() => sparse); } }
public static void Serialize(glTFMesh gltfMesh, IEnumerable <string> targetNames) { // targetNames var f = new JsonFormatter(); f.BeginList(); foreach (var n in targetNames) { f.Value(n); } f.EndList(); var targetNamesJson = f.GetStore().Bytes; var meshExtras = glTFExtensionExport.GetOrCreate(ref gltfMesh.extras); meshExtras.Add(ExtraName, targetNamesJson); foreach (var prim in gltfMesh.primitives) { var primExtras = glTFExtensionExport.GetOrCreate(ref prim.extras); primExtras.Add(ExtraName, targetNamesJson); } }
public static void Serialize_gltf_animations_ITEM(JsonFormatter f, glTFAnimation value) { f.BeginMap(); if (!string.IsNullOrEmpty(value.name)) { f.Key("name"); f.Value(value.name); } if (value.channels != null && value.channels.Count >= 1) { f.Key("channels"); Serialize_gltf_animations__channels(f, value.channels); } if (value.samplers != null && value.samplers.Count >= 1) { f.Key("samplers"); Serialize_gltf_animations__samplers(f, value.samplers); } if (value.extensions != null) { f.Key("extensions"); value.extensions.Serialize(f); } if (value.extras != null) { f.Key("extras"); value.extras.Serialize(f); } f.EndMap(); }
public static void Serialize_gltf_meshes_ITEM(JsonFormatter f, glTFMesh value) { f.BeginMap(); if (!string.IsNullOrEmpty(value.name)) { f.Key("name"); f.Value(value.name); } if (value.primitives != null && value.primitives.Count >= 1) { f.Key("primitives"); Serialize_gltf_meshes__primitives(f, value.primitives); } if (value.weights != null && value.weights.Length >= 1) { f.Key("weights"); Serialize_gltf_meshes__weights(f, value.weights); } if (value.extras != null) { f.Key("extras"); value.extras.Serialize(f); } if (value.extensions != null) { f.Key("extensions"); value.extensions.Serialize(f); } f.EndMap(); }
public static void Serialize_gltf_accessors__sparse(JsonFormatter f, glTFSparse value) { f.BeginMap(); if (value.count >= 1) { f.Key("count"); f.Value(value.count); } if (value.indices != null) { f.Key("indices"); Serialize_gltf_accessors__sparse_indices(f, value.indices); } if (value.values != null) { f.Key("values"); Serialize_gltf_accessors__sparse_values(f, value.values); } if (value.extensions != null) { f.Key("extensions"); value.extensions.Serialize(f); } if (value.extras != null) { f.Key("extras"); value.extras.Serialize(f); } f.EndMap(); }
public static void Serialize_gltf_nodes_ITEM(JsonFormatter f, glTFNode value) { f.BeginMap(); if (!string.IsNullOrEmpty(value.name)) { f.Key("name"); f.Value(value.name); } if (value.children != null && value.children.Length >= 1) { f.Key("children"); Serialize_gltf_nodes__children(f, value.children); } if (value.matrix != null && value.matrix.Length >= 16) { f.Key("matrix"); Serialize_gltf_nodes__matrix(f, value.matrix); } if (value.translation != null && value.translation.Length >= 3 && !value.translation.SequenceEqual(new float[] { 0, 0, 0 })) { f.Key("translation"); Serialize_gltf_nodes__translation(f, value.translation); } if (value.rotation != null && value.rotation.Length >= 4 && !value.rotation.SequenceEqual(new float[] { 0, 0, 0, 1 })) { f.Key("rotation"); Serialize_gltf_nodes__rotation(f, value.rotation); } if (value.scale != null && value.scale.Length >= 3 && !value.scale.SequenceEqual(new float[] { 1, 1, 1 })) { f.Key("scale"); Serialize_gltf_nodes__scale(f, value.scale); } if (value.mesh >= 0) { f.Key("mesh"); f.Value(value.mesh); } if (value.skin >= 0) { f.Key("skin"); f.Value(value.skin); } if (value.weights != null && value.weights.Length >= 1) { f.Key("weights"); Serialize_gltf_nodes__weights(f, value.weights); } if (value.camera >= 0) { f.Key("camera"); f.Value(value.camera); } if (value.extensions != null) { f.Key("extensions"); value.extensions.Serialize(f); } if (value.extras != null) { f.Key("extras"); value.extras.Serialize(f); } f.EndMap(); }
protected override void SerializeMembers(JsonFormatter f) { f.KeyValue(() => asset); // buffer if (buffers.Any()) { f.KeyValue(() => buffers); } if (bufferViews.Any()) { f.Key("bufferViews"); f.Value(bufferViews); } if (accessors.Any()) { f.Key("accessors"); f.Value(accessors); } // materials if (images.Any()) { f.Key("images"); f.Value(images); if (samplers.Count == 0) { samplers.Add(new glTFTextureSampler()); } } if (samplers.Any()) { f.Key("samplers"); f.Value(samplers); } if (textures.Any()) { f.Key("textures"); f.Value(textures); } if (materials.Any()) { f.Key("materials"); f.Value(materials); } // meshes if (meshes.Any()) { f.KeyValue(() => meshes); } if (skins.Any()) { f.KeyValue(() => skins); } // scene if (nodes.Any()) { f.KeyValue(() => nodes); } if (scenes.Any()) { f.KeyValue(() => scenes); } // animations if (animations.Any()) { f.Key("animations"); f.Value(animations); } }
protected override void SerializeMembers(JsonFormatter f) { f.KeyValue(() => bufferView); f.KeyValue(() => byteOffset); f.Key("componentType"); f.Value((int)componentType); }
static void CopyJson(IReadOnlyList <string> extensionUsed, JsonFormatter dst, JsonNode src, int level) { if (src.IsArray()) { dst.BeginList(); foreach (var v in src.ArrayItems()) { CopyJson(extensionUsed, dst, v, level + 1); } dst.EndList(); } else if (src.IsMap()) { if (level == 0) { // 最上層だけ extensionsUsed の処理をする var done = false; dst.BeginMap(); foreach (var kv in src.ObjectItems()) { var key = kv.Key.GetString(); if (key == EXTENSION_USED_KEY) { if (extensionUsed.Count == 0) { // skip } else { dst.Key(key); // replace dst.BeginList(); foreach (var ex in extensionUsed) { dst.Value(ex); } dst.EndList(); // 処理済 } done = true; } else { dst.Key(key); CopyJson(extensionUsed, dst, kv.Value, level + 1); } } if (!done && level == 0 && extensionUsed.Count > 0) { // add dst.Key(EXTENSION_USED_KEY); dst.BeginList(); foreach (var ex in extensionUsed) { dst.Value(ex); } dst.EndList(); } dst.EndMap(); } else { dst.BeginMap(); foreach (var kv in src.ObjectItems()) { dst.Key(kv.Key.GetUtf8String()); CopyJson(extensionUsed, dst, kv.Value, level + 1); } dst.EndMap(); } } else { // leaf dst.Value(src); } }
public static void Serialize_gltf_accessors_ITEM(JsonFormatter f, glTFAccessor value) { f.BeginMap(); if (value.bufferView >= 0) { f.Key("bufferView"); f.Value(value.bufferView); } if (value.byteOffset >= 0) { f.Key("byteOffset"); f.Value(value.byteOffset); } if (!string.IsNullOrEmpty(value.type)) { f.Key("type"); f.Value(value.type); } if (true) { f.Key("componentType"); f.Value((int)value.componentType); } if (value.count >= 1) { f.Key("count"); f.Value(value.count); } if (value.max != null && value.max.Length >= 1) { f.Key("max"); Serialize_gltf_accessors__max(f, value.max); } if (value.min != null && value.min.Length >= 1) { f.Key("min"); Serialize_gltf_accessors__min(f, value.min); } if (true) { f.Key("normalized"); f.Value(value.normalized); } if (value.sparse != null) { f.Key("sparse"); Serialize_gltf_accessors__sparse(f, value.sparse); } if (!string.IsNullOrEmpty(value.name)) { f.Key("name"); f.Value(value.name); } if (value.extensions != null) { f.Key("extensions"); value.extensions.Serialize(f); } if (value.extras != null) { f.Key("extras"); value.extras.Serialize(f); } f.EndMap(); }
public static void Serialize_gltf_materials_ITEM(JsonFormatter f, glTFMaterial value) { f.BeginMap(); if (!string.IsNullOrEmpty(value.name)) { f.Key("name"); f.Value(value.name); } if (value.pbrMetallicRoughness != null) { f.Key("pbrMetallicRoughness"); Serialize_gltf_materials__pbrMetallicRoughness(f, value.pbrMetallicRoughness); } if (value.normalTexture != null) { f.Key("normalTexture"); Serialize_gltf_materials__normalTexture(f, value.normalTexture); } if (value.occlusionTexture != null) { f.Key("occlusionTexture"); Serialize_gltf_materials__occlusionTexture(f, value.occlusionTexture); } if (value.emissiveTexture != null) { f.Key("emissiveTexture"); Serialize_gltf_materials__emissiveTexture(f, value.emissiveTexture); } if (value.emissiveFactor != null && value.emissiveFactor.Length >= 3) { f.Key("emissiveFactor"); Serialize_gltf_materials__emissiveFactor(f, value.emissiveFactor); } if (!string.IsNullOrEmpty(value.alphaMode)) { f.Key("alphaMode"); f.Value(value.alphaMode); } if (value.alphaCutoff >= 0 && value.alphaMode == "MASK") { f.Key("alphaCutoff"); f.Value(value.alphaCutoff); } if (true) { f.Key("doubleSided"); f.Value(value.doubleSided); } if (value.extensions != null) { f.Key("extensions"); value.extensions.Serialize(f); } if (value.extras != null) { f.Key("extras"); value.extras.Serialize(f); } f.EndMap(); }
public static void Serialize(JsonFormatter f, glTF value) { f.BeginMap(); if (value.asset != null) { f.Key("asset"); Serialize_gltf_asset(f, value.asset); } if (value.buffers != null && value.buffers.Count >= 1) { f.Key("buffers"); Serialize_gltf_buffers(f, value.buffers); } if (value.bufferViews != null && value.bufferViews.Count >= 1) { f.Key("bufferViews"); Serialize_gltf_bufferViews(f, value.bufferViews); } if (value.accessors != null && value.accessors.Count >= 1) { f.Key("accessors"); Serialize_gltf_accessors(f, value.accessors); } if (value.textures != null && value.textures.Count >= 1) { f.Key("textures"); Serialize_gltf_textures(f, value.textures); } if (value.samplers != null && value.samplers.Count >= 1) { f.Key("samplers"); Serialize_gltf_samplers(f, value.samplers); } if (value.images != null && value.images.Count >= 1) { f.Key("images"); Serialize_gltf_images(f, value.images); } if (value.materials != null && value.materials.Count >= 1) { f.Key("materials"); Serialize_gltf_materials(f, value.materials); } if (value.meshes != null && value.meshes.Count >= 1) { f.Key("meshes"); Serialize_gltf_meshes(f, value.meshes); } if (value.nodes != null && value.nodes.Count >= 1) { f.Key("nodes"); Serialize_gltf_nodes(f, value.nodes); } if (value.skins != null && value.skins.Count >= 1) { f.Key("skins"); Serialize_gltf_skins(f, value.skins); } if (value.scene >= 0) { f.Key("scene"); f.Value(value.scene); } if (value.scenes != null && value.scenes.Count >= 1) { f.Key("scenes"); Serialize_gltf_scenes(f, value.scenes); } if (value.animations != null && value.animations.Count >= 1) { f.Key("animations"); Serialize_gltf_animations(f, value.animations); } if (value.cameras != null && value.cameras.Count >= 1) { f.Key("cameras"); Serialize_gltf_cameras(f, value.cameras); } if (value.extensionsUsed != null && value.extensionsUsed.Count >= 1) { f.Key("extensionsUsed"); Serialize_gltf_extensionsUsed(f, value.extensionsUsed); } if (value.extensionsRequired != null && value.extensionsRequired.Count >= 1) { f.Key("extensionsRequired"); Serialize_gltf_extensionsRequired(f, value.extensionsRequired); } if (value.extensions != null) { f.Key("extensions"); value.extensions.Serialize(f); } if (value.extras != null) { f.Key("extras"); value.extras.Serialize(f); } f.EndMap(); }