Skip to main content

Anisotropy

Creates directional reflections perpendicular to surface features. Common in brushed metals, hair, vinyl records, fabrics.

Requires MATERIAL_ANISOTROPY constant.

Parameters

anisotropyStrength

float

Default:0

Strength of directional reflection (for brushed metal)

anisotropyRotation

float

Default:0

Rotation angle of anisotropic highlight direction

anisotropyTexture

texture

Default:White

Texture map for anisotropic properties

Example

With anisotropy
anisotropyStrength: 1.0

Tangent Space

Direction is relative to UV tangent. Use anisotropyRotation for additional offset.

Shader Implementation

// Rotation to direction vector
vec2 rotation = vec2(cos(anisotropyRotation), sin(anisotropyRotation));

// Texture channels
vec3 tex = texture(anisotropyTexture).rgb;
vec2 texDirection = tex.rg * 2.0 - 1.0; // RG: direction
anisotropyDirection = rotation_matrix * normalize(texDirection);
anisotropyStrength *= tex.b; // B: strength

Texture Maps

Anisotropy texture channels:

  • RG: Direction vector (range -1 to 1, normalized)
  • B: Strength multiplier (0-1)