// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See LICENSE in the project root for license information.
#pragma once
namespace Microsoft::glTF::Toolkit::UWP
{
public ref class GLTFSerialization sealed
{
public:
///
/// Unpacks a GLB asset into a GLTF manifest and its
/// resources (bin files and images).
///
/// The GLB file to unpack. The name of the GLB file, without the extension,
/// will be used as a prefix to all unpacked resources.
/// The output folder to which the glTF manifest and resources will be unpacked.
static Windows::Foundation::IAsyncOperation^ UnpackGLBAsync(Windows::Storage::StorageFile^ glbFile, Windows::Storage::StorageFolder^ outputFolder);
///
/// Serializes a glTF asset as a glTF binary (GLB) file.
///
/// The glTF file to be serialized.
/// The output folder where you want the glb file to be placed.
/// The glb filename.
///
/// The resulting GLB file, named with glbName and located in outputFolder.
///
static Windows::Foundation::IAsyncOperation^ PackGLTFAsync(Windows::Storage::StorageFile^ sourceGltf, Windows::Storage::StorageFolder^ outputFolder, Platform::String^ glbName);
};
}