A collection of tools for modifying and optimizing glTF assets
Clone or download
marpe and najadojo Perform material processing after lod merging to fix share material c…
…omparison (#45)

* Don't bother comparing spec gloss members since top level materials are converted to metal rough

* Revert changes to material comparison in LOD merging

* Perform material processing after LOD merge
Latest commit a55c8a2 Oct 1, 2018

README.md

Microsoft glTF Toolkit

This project contains a collection of tools and libraries to modify and optimize glTF assets.

Additionally the repository includes a command line tool that uses these steps in sequence in order to convert a glTF 2.0 core asset for use in the Windows Mixed Reality home, following the published documentation. The latest release of the Windows Mixed Reality Asset converter is available on the releases tab.

Build status

Features

The current release includes code for:

  • Packing PBR material textures using DirectXTex for use with the MSFT_packing_occlusionRoughnessMetallic and MSFT_packing_normalRoughnessMetallic extensions.
  • Compressing textures as BC3, BC5 or BC7 and generate mip maps using DirectXTex for use with the MSFT_texture_dds extension.
  • Removing KHR_materials_pbrSpecularGlossiness by converting material prameters to metallic-roughness.
  • Mesh compression using KHR_draco_mesh_compression extension; this can only be used on 1809 and later and should only be used for assets that are transmitted over the network as load time is increased with compression.
  • Merging multiple glTF assets into a asset with multiple levels of detail using the MSFT_lod extension.
  • A command line tool that combines these components to create optimized glTF assets for the Windows Mixed Reality Home
  • A UWP compatible Windows Runtime component to perform conversions between GLTF and GLB, as well as optimize assets for Windows Mixed Reality at runtime

Dependencies

This project consumes the following projects through NuGet packages:

Building

This project can be built using Visual Studio 2017 Update 4 on Windows 10 Fall Creators Update (16299.0).

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

License

Copyright (c) Microsoft Corporation. All rights reserved.

Licensed under the MIT License.