flow-texpack: A program that will allow you to generate texture atlas.

flow-texpack is a program that will allow you to generate texture atlas from input images (BMP, HDR, JPG, PNG, TGA, TIFF, WEBP). The application generates both texture atlas and descriptions file that can be read by a game.

Installing Rust

Install Rust from your package manager or by downloading from here: https://rust-lang.org/.

Getting the code

Install git from your package manager or by downloading from here: https://git-scm.com/install. The git repository can also be browsed online.

Clone the git repository:

git clone https://luflow.net/git/flow-texpack.git

Compiling the code

Build using release mode and install locally:

cargo install --locked --path .

The binary produced should be located here: ~/.cargo/bin/flow-texpack (on GNU/Linux). Make sure ~/.cargo/bin is in your PATH.

Usage

Show available options:

flow-texpack -h

or

flow-texpack --help

Examples

Generate from input data/characters and data/tiles, write output to out/atlas and enable the options: premultiply pixels by their alpha channel, trim excess transparency off the textures, remove duplicate textures from the atlas, enable rotation of textures 90 degrees clockwise, pad each texture by 2 pixels and finally enable verbose output mode. In verbose output mode flow-texpack.log will also be created which contains more details of the generation process.

flow-texpack -i data/characters data/tiles -o out/atlas -m -t -u -r -p 2 -v

Enable load filter so that only TGA images are included in the texture atlas:

flow-texpack -i data/tiles -o out/atlas --load-filter tga -v

Enable rect heuristic AreaFit:

flow-texpack -i data/tiles -o out/atlas --rect-heuristic area-fit -v

Enable output atlas size of 2048x2048:

flow-texpack -i data/tiles -o out/atlas --atlas-size pot2048 -v

Read input files/directories from input.txt but exclude all in exclude.txt:

flow-texpack --input-file input.txt --exlude-file exclude.txt -o out/atlas -v

Adjust atlas size automatically so that texture will fit:

flow-texpack -i data/characters -o out/atlas --adjust-size -v

Adjust texture size so that it will fit given atlas size:

flow-texpack -i data/characters -o out/atlas --adjust-fit -v

License

flow-texpack is licensed under the zlib license. This license allows you to use flow-texpack freely in any software.

Unless otherwise stated, blog posts on this site are copyrighted by their respective authors and published under the terms of the CC-BY-SA 4.0 license.