diff options
| author | Bruno Cabral <[email protected]> | 2024-07-01 03:24:01 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-07-01 12:24:01 +0200 |
| commit | b5473d5ffde38fb0a6f9e31cfaf0fc8d50aaff74 (patch) | |
| tree | b4081431fc6c61128053788eb46e261c5ca136b7 | |
| parent | 9e22fddf1ac54d0075f1b4a5c2bbc819116dfb83 (diff) | |
| download | raylib-b5473d5ffde38fb0a6f9e31cfaf0fc8d50aaff74.tar.gz raylib-b5473d5ffde38fb0a6f9e31cfaf0fc8d50aaff74.zip | |
[rtextures] advance k in LoadImageColors (#4120)
Some formats are not advancing k to get pixels values
| -rw-r--r-- | src/rtextures.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/rtextures.c b/src/rtextures.c index ccfa12ec..54bf7c6a 100644 --- a/src/rtextures.c +++ b/src/rtextures.c @@ -3111,6 +3111,7 @@ Color *LoadImageColors(Image image) pixels[i].b = 0; pixels[i].a = 255; + k += 1; } break; case PIXELFORMAT_UNCOMPRESSED_R32G32B32: { @@ -3124,9 +3125,9 @@ Color *LoadImageColors(Image image) case PIXELFORMAT_UNCOMPRESSED_R32G32B32A32: { pixels[i].r = (unsigned char)(((float *)image.data)[k]*255.0f); - pixels[i].g = (unsigned char)(((float *)image.data)[k]*255.0f); - pixels[i].b = (unsigned char)(((float *)image.data)[k]*255.0f); - pixels[i].a = (unsigned char)(((float *)image.data)[k]*255.0f); + pixels[i].g = (unsigned char)(((float *)image.data)[k + 1]*255.0f); + pixels[i].b = (unsigned char)(((float *)image.data)[k + 2]*255.0f); + pixels[i].a = (unsigned char)(((float *)image.data)[k + 3]*255.0f); k += 4; } break; @@ -3137,6 +3138,7 @@ Color *LoadImageColors(Image image) pixels[i].b = 0; pixels[i].a = 255; + k += 1; } break; case PIXELFORMAT_UNCOMPRESSED_R16G16B16: { @@ -3150,9 +3152,9 @@ Color *LoadImageColors(Image image) case PIXELFORMAT_UNCOMPRESSED_R16G16B16A16: { pixels[i].r = (unsigned char)(HalfToFloat(((unsigned short *)image.data)[k])*255.0f); - pixels[i].g = (unsigned char)(HalfToFloat(((unsigned short *)image.data)[k])*255.0f); - pixels[i].b = (unsigned char)(HalfToFloat(((unsigned short *)image.data)[k])*255.0f); - pixels[i].a = (unsigned char)(HalfToFloat(((unsigned short *)image.data)[k])*255.0f); + pixels[i].g = (unsigned char)(HalfToFloat(((unsigned short *)image.data)[k + 1])*255.0f); + pixels[i].b = (unsigned char)(HalfToFloat(((unsigned short *)image.data)[k + 2])*255.0f); + pixels[i].a = (unsigned char)(HalfToFloat(((unsigned short *)image.data)[k + 3])*255.0f); k += 4; } break; |
