summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2018-12-30 14:35:15 +0100
committerRémi Verschelde <rverschelde@gmail.com>2018-12-30 14:35:15 +0100
commit08f71baca51a927dd20e4e10dd67e41cdeadd40d (patch)
tree5edfc3807108283a8a6bd15fa6bb820d2048861e
parent8b7028e7b13b7a0ed6b8a4d589ada7c83914242e (diff)
Fix loading EXR with alpha channel
Fixes #24659.
-rw-r--r--modules/tinyexr/image_loader_tinyexr.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/modules/tinyexr/image_loader_tinyexr.cpp b/modules/tinyexr/image_loader_tinyexr.cpp
index 63f0781028..81f61c1d4d 100644
--- a/modules/tinyexr/image_loader_tinyexr.cpp
+++ b/modules/tinyexr/image_loader_tinyexr.cpp
@@ -131,7 +131,7 @@ Error ImageLoaderTinyEXR::load_image(Ref<Image> p_image, FileAccess *f, bool p_f
Image::Format format;
int output_channels = 0;
- if (idxA > 0) {
+ if (idxA != -1) {
imgdata.resize(exr_image.width * exr_image.height * 8); //RGBA16
format = Image::FORMAT_RGBAH;
@@ -187,7 +187,7 @@ Error ImageLoaderTinyEXR::load_image(Ref<Image> p_image, FileAccess *f, bool p_f
const float *b_channel_start = reinterpret_cast<const float *>(tile.images[idxB]);
const float *a_channel_start = NULL;
- if (idxA > 0) {
+ if (idxA != -1) {
a_channel_start = reinterpret_cast<const float *>(tile.images[idxA]);
}
@@ -216,7 +216,7 @@ Error ImageLoaderTinyEXR::load_image(Ref<Image> p_image, FileAccess *f, bool p_f
*row_w++ = Math::make_half_float(color.g);
*row_w++ = Math::make_half_float(color.b);
- if (idxA > 0) {
+ if (idxA != -1) {
*row_w++ = Math::make_half_float(*a_channel++);
}
}