A basis texture converter

Basis is an extremely useful texture format which produce small file and boost the rendering performance, three.js also provide a basis loader, but we found there isn’t a graphical interface for texture generating, this raises the bar for using the basis format. It can also cause a lot of trouble when generating a lot of textures: you have to write a bash script, it’s not easy for all the developers.

So we made a converter based on WebGL version of basisu, which provide:

  • Texture preview: you can compare the generated texture and original one side by side;
  • Batch convert: convert a lot of textures at once.

You can try it online: Basis Converter

or checkout the code: GitHub - jibencaozuo-playground/basis-converter: Basis file converter for WebGL developers.

Preview

Hope this would help!

15 Likes

Looks really useful indeed !

Awesome work! :clap:

The basisu tool also has an option to output .ktx2 files, would it be possible to provide that as an option? It’s the exact same compression, but you’d need .ktx2 containers to use these in glTF/GLB files or with THREE.KTX2Loader.

It’s not very difficult I think, let me have a try

1 Like

KTX2 format is available is available now.

5 Likes

Hi, this tool is very useful, but I have a problem with react it doesn’t work when I want to do it on the localhost… I’m getting this error message about the .zip file downloader
Argument of type ‘{ binary: boolean; compression: string; }’ is not assignable to parameter of type ‘JSZipFileOptions’.
Types of property ‘compression’ are incompatible.
Type ‘string’ is not assignable to type ‘Compression | undefined’

@Losses is there any file size or resolution limit on your site? I’m unable to convert my 8k texture into basis

Error logs: Unable to convert and preview the converted resolution on the main site · Issue #2 · jibencaozuo-playground/basis-converter · GitHub