{"id":13838667,"url":"https://github.com/pablode/guc","last_synced_at":"2025-07-10T23:31:53.542Z","repository":{"id":38401054,"uuid":"485713211","full_name":"pablode/guc","owner":"pablode","description":"glTF to USD converter with MaterialX support","archived":false,"fork":false,"pushed_at":"2024-11-04T21:33:37.000Z","size":1932,"stargazers_count":112,"open_issues_count":8,"forks_count":6,"subscribers_count":9,"default_branch":"main","last_synced_at":"2024-11-04T22:28:43.396Z","etag":null,"topics":["gltf","materialx","usd","usdz"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pablode.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-26T09:12:43.000Z","updated_at":"2024-10-27T20:44:41.000Z","dependencies_parsed_at":"2024-05-17T21:39:03.843Z","dependency_job_id":"31952121-660c-46a1-96cf-000fe0be98ba","html_url":"https://github.com/pablode/guc","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pablode%2Fguc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pablode%2Fguc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pablode%2Fguc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pablode%2Fguc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pablode","download_url":"https://codeload.github.com/pablode/guc/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225663591,"owners_count":17504435,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gltf","materialx","usd","usdz"],"created_at":"2024-08-04T16:00:28.324Z","updated_at":"2025-07-10T23:31:53.530Z","avatar_url":"https://github.com/pablode.png","language":"C++","funding_links":[],"categories":["Libraries \u0026 Tools"],"sub_categories":["Converters \u0026 File Format Plugins"],"readme":"## guc\n\n![USD v25.02](https://github.com/pablode/guc/actions/workflows/run-tests-usd2502.yml/badge.svg?branch=main)\n![USD v24.11](https://github.com/pablode/guc/actions/workflows/run-tests-usd2411.yml/badge.svg?branch=main)\n\nguc is a glTF to [Universal Scene Description](https://github.com/PixarAnimationStudios/USD) (USD) converter.\n\nUnlike...\n - [gltf2usd](https://github.com/kcoley/gltf2usd), it aims to be more than a PoC\n - [usd_from_gltf](https://github.com/google/usd_from_gltf), it is not AR Quick Look centric\n - [Apple's USDZ Tools](https://developer.apple.com/augmented-reality/tools/), it is open-source and freely available\n\nguc furthermore supports near-lossless material translation via the [MaterialX](https://github.com/AcademySoftwareFoundation/MaterialX) standard.\n\nAll glTF features except animation and skinning are implemented and get continuously tested in guc's [test suite](https://github.com/pablode/guc-tests).\n\n\u003cp align=\"middle\"\u003e\n  \u003cimg width=360 src=\"preview_hdStorm.png\" /\u003e\n  \u003cimg width=360 src=\"preview_glTFSampleViewer.png\" /\u003e\n\u003c/p\u003e\n\u003cp align=\"middle\"\u003e\n  Wayfair's \u003ca href=\"https://github.com/KhronosGroup/glTF-Sample-Models/tree/16e803435fca5b07dde3dbdc5bd0e9b8374b2750/2.0/IridescentDishWithOlives\"\u003eIridescent Dish with Olives\u003c/a\u003e (\u003ca href=\"https://creativecommons.org/licenses/by/4.0/\"\u003eCC BY\u003c/a\u003e) converted to USD+MaterialX with guc and rendered in hdStorm (left).\n  The same model in Khronos's \u003ca href=\"https://github.khronos.org/glTF-Sample-Viewer-Release/\"\u003eglTF Sample Viewer\u003c/a\u003e (right).\n\u003c/p\u003e\n\n### Build\n\nYou need USD v24.03+ (e.g. \u003ca href=\"https://github.com/PixarAnimationStudios/OpenUSD/releases/tag/v25.02\"\u003ev25.02\u003c/a\u003e) with MaterialX support enabled.\n\nDo a recursive clone of the repository and set up a build folder:\n```\ngit clone https://github.com/pablode/guc --recursive\nmkdir guc/build \u0026\u0026 cd guc/build\n```\n\nPass following parameters in the CMake generation phase:\n```\ncmake .. -Wno-dev -DCMAKE_BUILD_TYPE=Release\n```\n\nBuild the executable:\n```\ncmake --build . -j8 --config Release\n```\n\n\u003e Note: set `BUILD_SHARED_LIBS` for shared builds, and `CMAKE_MSVC_RUNTIME_LIBRARY` to USD's MSVC ABI.\n\n### Usage\n\n```\nguc 0.5 - glTF to USD converter\n\nUsage: guc [options] [--] \u003cgltf_path\u003e \u003cusd_path\u003e\n\nOptions:\n  -m, --emit-mtlx                            Emit MaterialX materials in addition to UsdPreviewSurfaces\n  -u, --mtlx-as-usdshade                     Convert and inline MaterialX materials into the USD layer using UsdMtlx\n  -v, --default-material-variant=\u003cindex\u003e     Index of the material variant that is selected by default\n  -l, --licenses                             Print the license of guc and third-party libraries\n  -h, --help                                 Show the command help\n```\n\nBoth glTF and GLB file types are valid input. USDA, USDC and USDZ formats can be written.\n\nAn example asset conversion is described in the [Structure Mapping](docs/Structure_Mapping.md) document.\n\n### Extension support\n\nName                                | Status\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n------------------------------------|----------\nEXT_meshopt_compression             | ✅ Complete\nKHR_draco_mesh_compression          | ✅ Complete\nKHR_lights_punctual                 | ✅ Partial \u003csup\u003e1\u003c/sup\u003e\nKHR_materials_clearcoat             | ✅ Complete\nKHR_materials_emissive_strength     | ✅ Complete\nKHR_materials_ior                   | ✅ Complete\nKHR_materials_iridescence           | ✅ Complete\nKHR_materials_sheen                 | ✅ Complete\nKHR_materials_specular              | ✅ Complete\nKHR_materials_transmission          | ✅ Complete\nKHR_materials_unlit                 | ✅ Complete\nKHR_materials_variants              | ✅ Complete\nKHR_materials_volume                | ✅ Partial \u003csup\u003e2\u003c/sup\u003e\nKHR_mesh_quantization               | ✅ Complete\nKHR_texture_transform               | ✅ Complete\n\n\u003csup\u003e\\[1\\]\u003c/sup\u003e Spotlight cone falloff is ignored.  \n\u003csup\u003e\\[2\\]\u003c/sup\u003e Thickness is \u003ca href=\"https://github.com/AcademySoftwareFoundation/MaterialX/pull/861\"\u003enot supported\u003c/a\u003e by the MaterialX glTF PBR implementation.\n\n### Sdf plugin\n\nThe _usdGlTF_ library implements USD's Sdf file format interface. Enable the `GUC_BUILD_USDGLTF` CMake option before building and install it as follows:\n```\ncmake --install . --component usdGlTF --config Release --prefix \u003cUSD_INSTALL_DIR\u003e/plugin/usd\n```\n\nglTF files can now be referenced as layers and opened with USD tooling.\nThe _emitMtlx_ dynamic Sdf file format argument controls MaterialX material emission.\n\n### License\n\n```\n\n   Copyright 2024 Pablo Delgado Krämer\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpablode%2Fguc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpablode%2Fguc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpablode%2Fguc/lists"}