mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-06 19:41:51 +00:00
content-pack resources support
This commit is contained in:
parent
c6d2266026
commit
396ee31bcc
43 changed files with 170 additions and 90 deletions
|
|
@ -41,15 +41,20 @@ ImageData* Atlas::getImage() const {
|
|||
|
||||
void AtlasBuilder::add(string name, ImageData* image) {
|
||||
entries.push_back(atlasentry{name, shared_ptr<ImageData>(image)});
|
||||
names.insert(name);
|
||||
}
|
||||
|
||||
bool AtlasBuilder::has(string name) const {
|
||||
return names.find(name) != names.end();
|
||||
}
|
||||
|
||||
Atlas* AtlasBuilder::build(uint extrusion, uint maxResolution) {
|
||||
unique_ptr<uint[]> sizes (new uint[entries.size() * 2]);
|
||||
for (uint i = 0; i < entries.size(); i++) {
|
||||
auto& entry = entries[i];
|
||||
uint index = 0;
|
||||
for (auto& entry : entries) {
|
||||
auto image = entry.image;
|
||||
sizes[i*2] = image->getWidth();
|
||||
sizes[i*2+1] = image->getHeight();
|
||||
sizes[index++] = image->getWidth();
|
||||
sizes[index++] = image->getHeight();
|
||||
}
|
||||
LMPacker packer(sizes.get(), entries.size()*2);
|
||||
sizes.reset(nullptr);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue