-
Notifications
You must be signed in to change notification settings - Fork 83
Description
This is about one Material in the CompareAnisotropy model, the grooved-anisotropy material.
The material looks like this:
{
"extensions": {
"KHR_materials_anisotropy": {
"anisotropyStrength": 1,
"anisotropyRotation": 1.6
}
},
"name": "grooved-anisotropy",
"normalTexture": {
"extensions": {
"KHR_texture_transform": {
"rotation": 1.5707963705062866,
"scale": [
6,
2
]
}
},
"index": 2,
"scale": 0.5
},
"pbrMetallicRoughness": {
"baseColorFactor": [
1,
1,
1,
1
],
"baseColorTexture": {
"index": 1
},
"metallicRoughnessTexture": {
"index": 3
}
}
},
Note, it has a rotation of about 90 degrees on the normal texture.
It has also a rotation on the anisotropy direction.
To easier get the point of question, remove both, which should not do much other than rotating the grooves as well as the anisotropy highlight.
Next look at at the normal texture (img2.jpg). The grooves are aligned with the U-Axis or X-Axis
of the image. This axis is usually aligned with the tangent and based on the KHR_materials_anisotropy spec, also with the anisotropy direction (before applying any rotation).
This would also mean that the highlight should also be stretched along that direction, i.e. along the grooves, but it isn't in the reference image:
Note: The direction vector of the anisotropy is the direction in which highlights will be stretched. The direction of the micro-grooves in the material causing the anisotropy will run perpendicular.
My claim is that the normal texture and the anisotropy highlight do not match in the scene setup.
If the highlight stretching is to be aligned to the U-Axis of the texture frame, I would expect the groves in the normal map to be aligned with the V axis so normals and anisotropy highlights match visually.
When applying a 90 degree rotation to both, normal space and anisotropy, nothing changes. Rotating only one would fix the problem but it points to a bug in the reference renderer.