소스 검색

Merge pull request #24667 from akien-mga/fix-exr-alpha

Fix loading EXR with alpha channel
Rémi Verschelde 6 년 전
부모
커밋
534044e8f8
1개의 변경된 파일3개의 추가작업 그리고 3개의 파일을 삭제
  1. 3 3
      modules/tinyexr/image_loader_tinyexr.cpp

+ 3 - 3
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++);
 					}
 				}