Browse Source

[rtextures] LoadTextureCubemap(): Copy image before generating mipmaps, to avoid dangling re-allocated pointers (#4439)

pull/4444/head
Nikolas 1 month ago
committed by GitHub
parent
commit
38cf9f3224
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
1 changed files with 5 additions and 2 deletions
  1. +5
    -2
      src/rtextures.c

+ 5
- 2
src/rtextures.c View File

@ -4194,12 +4194,15 @@ TextureCubemap LoadTextureCubemap(Image image, int layout)
faces = GenImageColor(size, size*6, MAGENTA);
ImageFormat(&faces, image.format);
//ImageMipmaps(&image); // WARNING: image is a copy, it can't be done here, no intention to pass image by reference...
Image mipmapped = ImageCopy(image);
ImageMipmaps(&mipmapped);
ImageMipmaps(&faces);
// NOTE: Image formatting does not work with compressed textures
for (int i = 0; i < 6; i++) ImageDraw(&faces, image, faceRecs[i], (Rectangle){ 0, (float)size*i, (float)size, (float)size }, WHITE);
for (int i = 0; i < 6; i++) ImageDraw(&faces, mipmapped, faceRecs[i], (Rectangle){ 0, (float)size*i, (float)size, (float)size }, WHITE);
UnloadImage(mipmapped);
}
// NOTE: Cubemap data is expected to be provided as 6 images in a single data array,

Loading…
Cancel
Save