Pārlūkot izejas kodu

rmodels.c, `LoadImageFromCgltfImage()` : fix base64 padding support (#4112)

* rmodels.c, LoadImageFromCgltfImage() : fix base64 padding support

This should fix the issue related to `.gltf` embeded image in base64 format, by ignoring `=` padding and calculating the data size in bytes correctly.

* follow guidelin convention

* try to follow guideline convention as much as possible

* clarify comments

i hope it's clear ennough
pull/4117/head
SuperUserNameMan pirms 6 mēnešiem
committed by GitHub
vecāks
revīzija
a3ef381b3e
Šim parakstam datu bāzē netika atrasta zināma atslēga GPG atslēgas ID: B5690EEEBB952194
1 mainītis faili ar 3 papildinājumiem un 1 dzēšanām
  1. +3
    -1
      src/rmodels.c

+ 3
- 1
src/rmodels.c Parādīt failu

@ -4815,7 +4815,9 @@ static Image LoadImageFromCgltfImage(cgltf_image *cgltfImage, const char *texPat
else
{
int base64Size = (int)strlen(cgltfImage->uri + i + 1);
int outSize = 3*(base64Size/4); // TODO: Consider padding (-numberOfPaddingCharacters)
while (cgltfImage->uri[i + base64Size] == '=') base64Size--; // Ignore optional paddings
int numberOfEncodedBits = base64Size*6 - (base64Size*6) % 8 ; // Encoded bits minus extra bits, so it becomes a multiple of 8 bits
int outSize = numberOfEncodedBits/8 ; // Actual encoded bytes
void *data = NULL;
cgltf_options options = { 0 };

Notiek ielāde…
Atcelt
Saglabāt