Files
OpenVulkano/openVulkanoCpp/Image/ImageLoaderPfm.hpp
Vladyslav Baranovskyi 4d6cba0afd PFM image loader + tests
2024-12-24 21:47:24 +02:00

31 lines
762 B
C++

/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
#pragma once
#include "Image/ImageLoader.hpp"
namespace OpenVulkano::Image
{
class ImageLoaderPfm : public IImageLoader
{
struct PfmImageHeader
{
int width;
int height;
bool isColor;
bool isLittleEndian;
};
public:
std::unique_ptr<Image> loadFromFile(const std::string& filePath) override;
std::unique_ptr<Image> loadFromMemory(const std::vector<uint8_t>& buffer) override;
Math::Vector2i GetImageDimensions(const std::string& filename) override;
private:
PfmImageHeader parseHeader(std::istringstream& stream);
};
}