WEBGI_materials_anisotropy glTF Extension

Contributors

Status

Draft.
This is different from KHR_materials_anisotropy draft

Dependencies

Written against the glTF 2.0 spec.

Exclusions

Overview

This extension defines the anisotropic property of a material as observable with brushed metals for instance. An asymmetric specular lobe model is introduced to allow for such phenomena. The visually distinct feature of that lobe is the elongated appearance of the specular reflection. For a single punctual light source, the specular reflection will eventually degenerate into a zero width line in the limit, that is where the material is fully anisotropic, as opposed to be fully isotropic in which case the specular reflection is radially symmetric.

When using this extension:

Extending Materials

Sample values:

{
    "materials": [
        {
            "extensions": {
                "WEBGI_materials_anisotropy": {
                    "anisotropyFactor": 0.6,
                    "anisotropyNoiseFactor": 0.2,
                    "anisotropyDirection": [0.0, 1.0, 0.0],
                    "anisotropyDirectionMode":"CONSTANT"
                }
            }
        }
    ]
}
Type Description Required
anisotropyFactor number The anisotropy. No, default: 0.0
anisotropyDirection textureInfo or float The anisotropy direction value or direction/rotation texture. No, default: [0.0]
anisotropyDirectionMode "CONSTANT" or "ROTATION" or "DIRECTION" Specifies type for anisotropyDirection, whether constant or specific texture. No, default: "CONSTANT"
anisotropyNoiseFactor number Parameter to control noise/sparkle. No, default: 0.0

anisotropyDirection contains an array for a constant direction vector or the texture for 1D or 2D direction.
When anisotopyDirectionMode is:

Anisotropy details

TODO: add technical details.
reference: KHR_materials_anisotropy Draft

See gltf_materials_anisotropy repository for shader snippets and implementation details.

Known Implementations

Resources


Back to home