Skip to content

CompareAnisotropy seems to have conflicting normal and anistropy direction #153

@krohmerNV

Description

@krohmerNV

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions