Taos API Reference
    Preparing search index...

    Interface OpenPbrMaterialOptions

    OpenPBR Surface inputs (v1 subset). Defaults follow the OpenPBR spec's default surface where practical. Colors are linear RGB.

    interface OpenPbrMaterialOptions {
        baseWeight?: number;
        baseColor?: [number, number, number];
        baseMetalness?: number;
        baseDiffuseRoughness?: number;
        specularWeight?: number;
        specularColor?: [number, number, number];
        specularRoughness?: number;
        specularIor?: number;
        specularAnisotropy?: number;
        specularRotation?: number;
        coatWeight?: number;
        coatColor?: [number, number, number];
        coatRoughness?: number;
        coatIor?: number;
        coatDarkening?: number;
        fuzzWeight?: number;
        fuzzColor?: [number, number, number];
        fuzzRoughness?: number;
        subsurfaceWeight?: number;
        subsurfaceColor?: [number, number, number];
        thinFilmWeight?: number;
        thinFilmThickness?: number;
        thinFilmIor?: number;
        emissionLuminance?: number;
        emissionColor?: [number, number, number];
        transmissionWeight?: number;
        thickness?: number;
        attenuationColor?: [number, number, number];
        attenuationDistance?: number;
        dispersion?: number;
        opacity?: number;
        normalScale?: number;
        unlit?: boolean;
        baseColorMap?: Texture;
        normalMap?: Texture;
        metallicRoughnessMap?: Texture;
        emissiveMap?: Texture;
        coatNormalMap?: Texture;
        anisotropyMap?: Texture;
        transmissionMap?: Texture;
        thicknessMap?: Texture;
        transparent?: boolean;
    }
    Index

    Properties

    baseWeight?: number
    baseColor?: [number, number, number]
    baseMetalness?: number
    baseDiffuseRoughness?: number

    Oren-Nayar diffuse roughness — reserved (v1 shades Lambert).

    specularWeight?: number
    specularColor?: [number, number, number]
    specularRoughness?: number
    specularIor?: number
    specularAnisotropy?: number

    [-1,1] tangent-aligned highlight stretch.

    specularRotation?: number

    Anisotropy direction in radians (tangent-space rotation).

    coatWeight?: number
    coatColor?: [number, number, number]
    coatRoughness?: number
    coatIor?: number
    coatDarkening?: number

    Throughput-darkening of the under-layer by the coat (0..1).

    fuzzWeight?: number
    fuzzColor?: [number, number, number]
    fuzzRoughness?: number
    subsurfaceWeight?: number

    Backlit-glow subsurface stand-in (engine model).

    subsurfaceColor?: [number, number, number]
    thinFilmWeight?: number
    thinFilmThickness?: number
    thinFilmIor?: number
    emissionLuminance?: number
    emissionColor?: [number, number, number]
    transmissionWeight?: number

    See-through refractive transmission strength (OpenPBR transmission_weight / glTF KHR_materials_transmission). Default 0 (opaque).

    thickness?: number

    Volume thickness in world units (glTF KHR_materials_volume); drives Beer-Lambert absorption. Default 0 (thin surface).

    attenuationColor?: [number, number, number]

    Beer-Lambert absorption color (glTF attenuationColor). Default white.

    attenuationDistance?: number

    Absorption distance (glTF attenuationDistance). Default Infinity (none).

    dispersion?: number

    Chromatic dispersion (glTF KHR_materials_dispersion). Default 0.

    opacity?: number

    Alpha (geometry.opacity). Blended when transparent is set.

    normalScale?: number
    unlit?: boolean

    Output base color with no lighting/IBL.

    baseColorMap?: Texture
    normalMap?: Texture
    metallicRoughnessMap?: Texture

    Packed metallic / emissive-scalar / roughness map (engine MER: R=metallic, G=emissive scalar, B=roughness). Same layout as PbrMaterial.merMap.

    emissiveMap?: Texture

    sRGB emission color texture; multiplied by emissionColor·emissionLuminance.

    coatNormalMap?: Texture

    Tangent-space normal map for the clear-coat lobe (coat_normal). When absent the coat uses the geometric normal (a smooth coat over a bumpy base — the common car-paint case). Applied in the forward path only.

    anisotropyMap?: Texture

    Anisotropy direction/strength map (glTF KHR_materials_anisotropy anisotropyTexture): .rg = the tangent-space direction (×2−1, rotated by specularRotation), .b = a per-pixel strength multiplier for specularAnisotropy. 1×1 default (dir (1,0), strength 1) when absent → the constant rotation/strength path. Same layout as PbrMaterial.anisotropyMap.

    transmissionMap?: Texture

    Per-pixel transmission factor map (glTF transmissionTexture, .r).

    thicknessMap?: Texture

    Per-pixel volume thickness map (glTF thicknessTexture, .g).

    transparent?: boolean