Skip to content

Commit 51ff658

Browse files
authored
[rtextures] ImageDraw(): Don't try to blend images without alpha (#4395)
1 parent 3dbbe60 commit 51ff658

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

src/rtextures.c

+10-2
Original file line numberDiff line numberDiff line change
@@ -3969,13 +3969,21 @@ void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec, Color
39693969
// [-] GetPixelColor(): Get Vector4 instead of Color, easier for ColorAlphaBlend()
39703970
// [ ] Support f32bit channels drawing
39713971

3972-
// TODO: Support PIXELFORMAT_UNCOMPRESSED_R32, PIXELFORMAT_UNCOMPRESSED_R32G32B32, PIXELFORMAT_UNCOMPRESSED_R32G32B32A32 and 16-bit equivalents
3972+
// TODO: Support PIXELFORMAT_UNCOMPRESSED_R32G32B32A32 and PIXELFORMAT_UNCOMPRESSED_R1616B16A16
39733973

39743974
Color colSrc, colDst, blend;
39753975
bool blendRequired = true;
39763976

39773977
// Fast path: Avoid blend if source has no alpha to blend
3978-
if ((tint.a == 255) && ((srcPtr->format == PIXELFORMAT_UNCOMPRESSED_GRAYSCALE) || (srcPtr->format == PIXELFORMAT_UNCOMPRESSED_R8G8B8) || (srcPtr->format == PIXELFORMAT_UNCOMPRESSED_R5G6B5))) blendRequired = false;
3978+
if ((tint.a == 255) &&
3979+
((srcPtr->format == PIXELFORMAT_UNCOMPRESSED_GRAYSCALE) ||
3980+
(srcPtr->format == PIXELFORMAT_UNCOMPRESSED_R5G6B5) ||
3981+
(srcPtr->format == PIXELFORMAT_UNCOMPRESSED_R8G8B8) ||
3982+
(srcPtr->format == PIXELFORMAT_UNCOMPRESSED_R32) ||
3983+
(srcPtr->format == PIXELFORMAT_UNCOMPRESSED_R32G32B32) ||
3984+
(srcPtr->format == PIXELFORMAT_UNCOMPRESSED_R16) ||
3985+
(srcPtr->format == PIXELFORMAT_UNCOMPRESSED_R16G16B16)))
3986+
blendRequired = false;
39793987

39803988
int strideDst = GetPixelDataSize(dst->width, 1, dst->format);
39813989
int bytesPerPixelDst = strideDst/(dst->width);

0 commit comments

Comments
 (0)