Skip to content

KTX2(.ktx2) encoder running on the browser

License

Notifications You must be signed in to change notification settings

galacean/ktx2-encoder

 
 

Repository files navigation

ktx2-encoder

Latest NPM release License

A lightweight JavaScript library for converting images to KTX2 (.ktx2) format. Powered by BinomialLLC/basis_universal.

Features

  • Convert images to KTX2 format
  • Support for both 2D images and cubemaps
  • Integration with gltf-transform
  • Support both Browser and Node.js

Quick Start

Install:

npm install --save ktx2-encoder

Import:

import { encodeToKTX2, encodeKTX2Cube } from 'ktx2-encoder';

Usage:

// encode a 2D image
encodeToKTX2(data /** ArrayBuffer of png */, options);
// encode a cube map
encodeKTX2Cube([data, ...] /** ArrayBuffer of png */, options);

See options API documentation for more details.

For gltf-transform

For the users of gltf-transform, you can use the provided function ktx. For example:

import { ktx2 } from "ktx2-encoder/gltf-transform";

await document.transform(
  ktx2({
    isUASTC: true,
    enableDebug: false,
    generateMipmap: true,
    wasmUrl: "/basis_encoder.wasm"
  })
);

Note: It's recommended to host the basis_encoder.wasm file on your own server.

Tool

  1. Start server
npm run dev
  1. Open the page,default is http://localhost:5174/

  2. Use it! Select your images and encode it to ktx2lock

About

KTX2(.ktx2) encoder running on the browser

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 96.2%
  • CSS 2.2%
  • HTML 1.6%