6 releases (3 breaking)
0.4.1 | Apr 7, 2024 |
---|---|
0.4.0 | Mar 17, 2024 |
0.3.0 | Nov 3, 2023 |
0.2.0 | Oct 12, 2023 |
0.1.1 | Oct 8, 2023 |
#751 in Game dev
26KB
526 lines
image-atlas
This library provides a general-purpose texture atlas generator with a focus on ease of use and simplicity.
There are multiple generation methods and mip map options.
- No padding between elements
- With padding between elements
- With smart padding between elements for mip map generation.
This library uses image
crate for image processing and rectangle-pack
crate for computing element layout.
Examples
use image_atlas::*;
let atlas = create_atlas(&AtlasDescriptor {
max_page_count: 8,
size: 2048,
mip: AtlasMipOption::MipWithBlock(AtlasMipFilter::Lanczos3, 32),
entries: &[AtlasEntry {
texture: image::RgbImage::new(512, 512),
mip: AtlasEntryMipOption::Clamp,
}],
})
.unwrap();
let texcoord = &atlas.texcoords[0];
let texture = &atlas.textures[texcoord.page as usize].mip_maps[0];
Dependencies
~1.5MB
~33K SLoC