7#include <unordered_map>
19 std::vector<std::byte>
data;
24 explicit PPL(std::span<const std::byte> pplData);
26 explicit PPL(
const std::string& pplPath);
28 [[nodiscard]]
explicit operator bool()
const;
44 [[nodiscard]] std::vector<uint32_t>
getImageLODs()
const;
52 bool setImage(std::span<const std::byte> imageData,
ImageFormat format_, uint32_t width, uint32_t height, uint32_t lod = 0);
56 bool setImage(
const std::string& imagePath, uint32_t lod = 0);
64 [[nodiscard]] std::vector<std::byte>
bake();
66 bool bake(
const std::string& pplPath);
73 std::unordered_map<uint32_t, Image>
images;
ImageFormat getFormat() const
const Image * getImageRaw(uint32_t lod=0) const
std::vector< std::byte > saveImageToFile(uint32_t lod=0, ImageConversion::FileFormat fileFormat=ImageConversion::FileFormat::DEFAULT) const
std::optional< Image > getImageAsRGB888(uint32_t lod=0) const
bool hasImageForLOD(uint32_t lod) const
void setFormat(ImageFormat newFormat)
std::vector< std::byte > bake()
bool setImage(std::span< const std::byte > imageData, ImageFormat format_, uint32_t width, uint32_t height, uint32_t lod=0)
uint32_t getVersion() const
std::unordered_map< uint32_t, Image > images
std::optional< Image > getImageAs(ImageFormat newFormat, uint32_t lod=0) const
std::vector< uint32_t > getImageLODs() const
void setVersion(uint32_t newVersion)
uint32_t getModelChecksum() const
void setModelChecksum(uint32_t newChecksum)
std::vector< std::byte > data