• Optimizes images, optionally resizing or converting to JPEG, PNG, WebP, or AVIF formats.

    For best results use a Node.js environment, install the sharp module, and provide an encoder. When the encoder is omitted — sharp works only in Node.js — the implementation will use a platform-specific fallback encoder, and most quality- and compression-related options are ignored.


    import { textureCompress } from '@gltf-transform/functions';
    import sharp from 'sharp';
    // (A) Optimize without conversion.
    await document.transform(
        textureCompress({encoder: sharp})
    // (B) Optimize and convert images to WebP.
    await document.transform(
            encoder: sharp,
            targetFormat: 'webp',
            slots: /^(?!normalTexture).*$/ // exclude normal maps
    // (C) Resize and convert images to WebP in a browser, without a Sharp
    // encoder. Most quality- and compression-related options are ignored.
    await document.transform(
        textureCompress({ targetFormat: 'webp', resize: [1024, 1024] })
Function symbol, where the argument and output are a box labeled 'glTF'.

Made by Don McCurdy. Documentation built with greendoc and published under Creative Commons Attribution 3.0.