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
This commit is contained in:
parent
84971d81f3
commit
a3ef381b3e
1 changed files with 3 additions and 1 deletions
|
@ -4815,7 +4815,9 @@ static Image LoadImageFromCgltfImage(cgltf_image *cgltfImage, const char *texPat
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int base64Size = (int)strlen(cgltfImage->uri + i + 1);
|
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;
|
void *data = NULL;
|
||||||
|
|
||||||
cgltf_options options = { 0 };
|
cgltf_options options = { 0 };
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue