@pixi/3d
    Preparing search index...

    Interface IridescenceOptions

    Options for a Material3D's iridescence group (KHR_materials_iridescence): a thin film whose colour shifts with the viewing angle, like a soap bubble or an oil slick

    const beetle = new Material3D({ metallic: 1, roughness: 0.2, iridescence: { thicknessMaximum: 500 } });
    
    interface IridescenceOptions {
        factor?: number;
        ior?: number;
        texture?: Texture<TextureSource<any>>;
        thicknessMaximum?: number;
        thicknessMinimum?: number;
        thicknessTexture?: Texture<TextureSource<any>>;
    }
    Index
    factor?: number

    Strength of the effect, from 0 (none) to 1

    1
    
    const hint = new Material3D({ iridescence: { factor: 0.3 } });
    
    ior?: number

    Index of refraction of the film

    1.3
    
    const oily = new Material3D({ iridescence: { ior: 1.5 } });
    
    texture?: Texture<TextureSource<any>>

    Factor in red and thickness in green, the packed image; used over thicknessTexture when both are given

    const packed = new Material3D({ iridescence: { texture: iridescenceMap } });
    
    thicknessMaximum?: number

    Film thickness in nanometres where the texture's green channel is 1, and so the thickness everywhere when there is no texture

    400
    
    const thickFilm = new Material3D({ iridescence: { thicknessMaximum: 800 } });
    
    thicknessMinimum?: number

    Film thickness in nanometres where the texture's green channel is 0

    glTF's default is 100, which the glTF loader passes.

    0
    
    const bubble = new Material3D({ iridescence: { thicknessMinimum: 100, thicknessTexture: filmMap } });
    
    thicknessTexture?: Texture<TextureSource<any>>

    Thickness map, read from green; used only when there is no texture

    The two share a slot, so its red channel scales the factor too: keep it white.

    const swirl = new Material3D({ iridescence: { thicknessTexture: swirlMap } });