mirror of
https://github.com/godotengine/godot
synced 2024-09-04 22:28:26 +00:00
parent
9c3ddf05cb
commit
f0562a5ef6
|
@ -107,22 +107,31 @@ Error ImageLoaderTinyEXR::load_image(Ref<Image> p_image, FileAccess *f, bool p_f
|
|||
}
|
||||
}
|
||||
|
||||
if (idxR == -1) {
|
||||
ERR_PRINT("TinyEXR: R channel not found.");
|
||||
// @todo { free exr_image }
|
||||
return ERR_FILE_CORRUPT;
|
||||
}
|
||||
if (exr_header.num_channels == 1) {
|
||||
// Grayscale channel only.
|
||||
idxR = 0;
|
||||
idxG = 0;
|
||||
idxB = 0;
|
||||
idxA = 0;
|
||||
} else {
|
||||
// Assume RGB(A)
|
||||
if (idxR == -1) {
|
||||
ERR_PRINT("TinyEXR: R channel not found.");
|
||||
// @todo { free exr_image }
|
||||
return ERR_FILE_CORRUPT;
|
||||
}
|
||||
|
||||
if (idxG == -1) {
|
||||
ERR_PRINT("TinyEXR: G channel not found.")
|
||||
// @todo { free exr_image }
|
||||
return ERR_FILE_CORRUPT;
|
||||
}
|
||||
if (idxG == -1) {
|
||||
ERR_PRINT("TinyEXR: G channel not found.")
|
||||
// @todo { free exr_image }
|
||||
return ERR_FILE_CORRUPT;
|
||||
}
|
||||
|
||||
if (idxB == -1) {
|
||||
ERR_PRINT("TinyEXR: B channel not found.")
|
||||
// @todo { free exr_image }
|
||||
return ERR_FILE_CORRUPT;
|
||||
if (idxB == -1) {
|
||||
ERR_PRINT("TinyEXR: B channel not found.")
|
||||
// @todo { free exr_image }
|
||||
return ERR_FILE_CORRUPT;
|
||||
}
|
||||
}
|
||||
|
||||
// EXR image data loaded, now parse it into Godot-friendly image data
|
||||
|
|
Loading…
Reference in a new issue