KhronosGroup / KhronosGroup/COLLADA2GLTF
Add support for Windows Mixed Reality
- Dominant language
- C++
- Stars
- 573
- Forks
- 154
- PR merge metrics
- No merged PRs in 30d
Description
Currently, the best support we have to create models for the Windows 10 Mixed Reality home (aka "Cliff House") is the Blender [exporter](https://github.com/KhronosGroup/glTF-Blender-Exporter).
It does indeed create a GLB file that can be used, [which I have created a full tutorial for here](https://winplatform.wordpress.com/2017/09/06/creating-3d-icons-for-your-mixed-reality-uwp-app/), but it only works if you used a simple vertex shader using one color.
In order to use a better material, the textures need to be packed according to the `msft_packingOcclusionRoughnessMetallic` spec delivered in the dds format. See [this Overview](https://github.com/sbtron/glTF/tree/MSFT_lod/extensions/Vendor/MSFT_packing_occlusionRoughnessMetallic#overview) for details.
For your convenience, here is the example from the above link:
```
{
"materials": [
{
"pbrMetallicRoughness": {
"baseColorTexture": {
"index": 0
},
"roughnessMetallicTexture": {
"index": 1
},
},
"normalTexture": {
"index": 2
},
"occlusionTexture": {
"index": 3
},
"extensions": {
"MSFT_packing_occlusionRoughnessMetallic": {
"occlusionRoughnessMetallicTexture": {
"index": 4
},
"normalTexture": {
"index": 5
}
}
}
}
],
"textures": [
{
"name":"baseColorTexture",
"source":0,
"extensions": {
"MSFT_texture_dds": {
"source": 6
}
}
},
{
"name":"roughnessMetallicTexture",
"source":1
},
{
"name":"normalTexture",
"source":2
},
{
"name":"occlusionTexture",
"source":3
},
{
"name":"occlusionRoughnessMetallic",
"extensions": {
"MSFT_texture_dds": {
"source": 4
}
}
},
{
"name":"MSFT_packing_ext_normal",
"extensions": {
"MSFT_texture_dds": {
"source": 5
}
}
}
],
"images": [
{
"mimeType": "image/png",
"bufferView": 0
},
{
"mimeType": "image/png",
"bufferView": 1
},
{
"mimeType": "image/png",
"bufferView": 2
},
{
"mimeType": "image/png",
"bufferView": 3
},
{
"mimeType": "image/vnd-ms.dds",
"bufferView": 4
},
{
"mimeType": "image/vnd-ms.dds",
"bufferView": 5
},
{
"mimeType": "image/vnd-ms.dds",
"bufferView": 6
}
]
}
```
I've opened this issue to see if it's possible to add support to the COLLADA2GLTF converter.
Note: I have communicated this to Microsoft and they recognize it's s custom workflow and are working sharing additional guidance on doing it manually, but it's a significant hurdle for developers like me who spend all their time coding the application and aren't shader ninjas :)
Contributor guide
No contributing guide indexed for this repository
Research direction
The issue targets the COLLADA2GLTF converter and the supplied MSFT_packing_occlusionRoughnessMetallic and MSFT_texture_dds material example. Start by tracing how the converter exports glTF materials and textures, then compare its output with the example and DDS requirements. Done means converted GLB assets support the packed textures required by Windows Mixed Reality.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- blender, cpp
- Domain
- ar-vr-xr, computer-graphics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100