squisher
squisher copied to clipboard
A tool for creating optimised, platform specific glTF files.
Squisher
What?
squisher
is a program that takes a glTF or .glb file with PNG/JPG textures and produces a .glb file where the textures have been replaced with ASTC compressed KTX2 files, explicitly breaking the glTF spec: source.
If you want your assets to use optimised textures but don't want to pay the runtime transcoding cost of KHR_texture_basisu, this tool is for you.
Why?
Because hotham works best with compressed textures, and doing this stuff by hand is time consuming. It takes literal minutes. And we all know that a watched pot never boils.
How?
Install squisher
with cargo install
:
cargo install --git https://github.com/leetvr/squisher.git
Running squisher
is easy:
squisher your_file.glb output.glb
Which will produce output.glb
, containing ASTC compressed KTX2 textures.
You can also use uncompressed RGBA8 textures:
squisher --format rgba8 your_file.glb output.glb
Requirements
To compile squisher
, you need:
- Rust 1.67.1 or newer
To run squisher
you must have the following available on your system PATH:
- Khronos Texture Tools 4.1.0 or newer
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.