ORM (occlusion, roughness, metallic) texture format is valid or invalid?
emadurandal opened this issue · 2 comments
The FlightHelmet sample uses 'ORM' texture which includes occlusion in R channel, roughness in G channel and metallic in B channel.
"materials": [
{
"pbrMetallicRoughness": {
"baseColorTexture": {
"index": 0
},
"metallicRoughnessTexture": {
"index": 1
}
},
"normalTexture": {
"index": 2
},
"occlusionTexture": {
"index": 1
},
"name": "GlassPlasticMat"
},
...
"textures": [
{
"source": 0
},
{
"source": 1
},
...
"images": [
{
"uri": "FlightHelmet_baseColor.png"
},
{
"uri": "FlightHelmet_occlusionRoughnessMetallic.png"
},
But according to the glTF2 spec,
It says "metallicRoughnessTexture: The metallic-roughness texture has two components. The first component (R) contains the metallic-ness of the material. The second component (G) contains the roughness of the material. These values are linear. If the third component (B) and/or the fourth component (A) are present, they are ignored."
As you can see, these are contradictory. Is the FlightHelmet wrong on this point?
Which specification do the data currently distributed around the world follow? Should we follow the glTF spec in the future?
That link points to an early draft from 2017.
The current spec is here: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/schema/material.pbrMetallicRoughness.schema.json
Oh, it's my mistake.
Thanks for your pointing out.