public static string ToJson(this glTFMaterialBaseColorTextureInfo self)
        {
            var f = new JsonFormatter();

            GltfSerializer.Serialize_gltf_materials__pbrMetallicRoughness_baseColorTexture(f, self);
            return(f.ToString());
        }
        public static string ToJson(this glTFSkin self)
        {
            var f = new JsonFormatter();

            GltfSerializer.Serialize_gltf_skins_ITEM(f, self);
            return(f.ToString());
        }
        public static string ToJson(this glTF self)
        {
            var f = new JsonFormatter();

            GltfSerializer.Serialize(f, self);
            return(f.ToString());
        }
        public static string ToJson(this glTFAttributes self)
        {
            var f = new JsonFormatter();

            GltfSerializer.Serialize_gltf_meshes__primitives__attributes(f, self);
            return(f.ToString());
        }
Example #5
0
        public static byte[] ToGlbBytes(this glTF self)
        {
            var f = new JsonFormatter();

            GltfSerializer.Serialize(f, self);

            var json = f.ToString().ParseAsJson().ToString("  ");

            self.RemoveUnusedExtensions(json);

            return(Glb.ToBytes(json, self.buffers[0].GetBytes()));
        }
Example #6
0
        /// <summary>
        /// GLBバイト列
        /// </summary>
        /// <returns></returns>
        public byte[] ToGlbBytes()
        {
            var f = new JsonFormatter();

            GltfSerializer.Serialize(f, Gltf);

            var json = f.ToString().ParseAsJson().ToString("  ");

            json = GltfJsonUtil.FindUsedExtensionsAndUpdateJson(json);

            return(Glb.Create(json, BinBytes).ToBytes());
        }
Example #7
0
        /// <summary>
        /// GLBバイト列
        /// </summary>
        /// <returns></returns>
        public byte[] ToGlbBytes()
        {
            var f = new JsonFormatter();

            GltfSerializer.Serialize(f, GLTF);

            // remove unused extenions
            var json = f.ToString().ParseAsJson().ToString("  ");

            RemoveUnusedExtensions(GLTF, json);
            return(Glb.Create(json, BinBytes).ToBytes());
        }
Example #8
0
        public static (string, List <glTFBuffer>) ToGltf(this glTF self, string gltfPath)
        {
            var f = new JsonFormatter();

            // fix buffer path
            if (self.buffers.Count == 1)
            {
                var withoutExt = Path.GetFileNameWithoutExtension(gltfPath);
                self.buffers[0].uri = $"{withoutExt}.bin";
            }
            else
            {
                throw new NotImplementedException();
            }

            GltfSerializer.Serialize(f, self);
            var json = f.ToString().ParseAsJson().ToString("  ");

            self.RemoveUnusedExtensions(json);
            return(json, self.buffers);
        }
Example #9
0
        /// <summary>
        /// glTF 形式で出力する?
        /// </summary>
        /// <param name="gltfPath"></param>
        /// <returns></returns>
        public (string, glTFBuffer) ToGltf(string gltfPath)
        {
            // fix buffer path
            if (GLTF.buffers.Count == 1)
            {
                var withoutExt = Path.GetFileNameWithoutExtension(gltfPath);
                GLTF.buffers[0].uri = $"{withoutExt}.bin";
            }
            else
            {
                throw new NotImplementedException();
            }

            var f = new JsonFormatter();

            GltfSerializer.Serialize(f, GLTF);
            var json = f.ToString().ParseAsJson().ToString("  ");

            RemoveUnusedExtensions(GLTF, json);
            return(json, GLTF.buffers[0]);
        }