Fix pnm and pfm reader
This commit is contained in:
@@ -107,7 +107,7 @@ namespace openVulkanoCpp
|
||||
}
|
||||
|
||||
image = std::make_unique<float[]>(size);
|
||||
inStream.read(reinterpret_cast<char*>(image.get()), size);
|
||||
inStream.read(reinterpret_cast<char*>(image.get()), size * sizeof(float));
|
||||
}
|
||||
|
||||
static PfmImage ReadImage(std::istream& inStream)
|
||||
|
||||
@@ -63,10 +63,15 @@ namespace openVulkanoCpp
|
||||
return value;
|
||||
}
|
||||
|
||||
[[nodiscard]] constexpr char GetMagicNumberChar() const
|
||||
{
|
||||
return '0' + static_cast<char>(GetMagicNumberValue());
|
||||
}
|
||||
|
||||
friend std::ostream& operator<< (std::ostream& outStream, const PnmHeader& pnmHeader)
|
||||
{
|
||||
outStream << 'P';
|
||||
outStream << ('0' + pnmHeader.GetMagicNumberValue());
|
||||
outStream << pnmHeader.GetMagicNumberChar();
|
||||
outStream << '\n';
|
||||
outStream << pnmHeader.width << ' ' << pnmHeader.height << '\n';
|
||||
outStream << pnmHeader.maxValue << '\n';
|
||||
@@ -81,7 +86,7 @@ namespace openVulkanoCpp
|
||||
uint8_t val = marker[1] - '0';
|
||||
if (val > 6) throw std::runtime_error("Malformed PNM header!");
|
||||
pnmHeader.ascii = val < 4;
|
||||
pnmHeader.color = static_cast<ColorMode>(val & 0x11);
|
||||
pnmHeader.color = static_cast<ColorMode>(val - 3);
|
||||
inStream >> pnmHeader.width >> pnmHeader.height;
|
||||
inStream >> pnmHeader.maxValue;
|
||||
inStream.get();
|
||||
|
||||
Reference in New Issue
Block a user