[rmodels] Read uninitialized values in GenMeshTangents() - fix bounding case (#4066)

* fix

* assert
This commit is contained in:
kai-z99 2024-06-16 01:44:31 -07:00 committed by GitHub
parent cc40a91343
commit a29d334734
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -3436,7 +3436,12 @@ void GenMeshTangents(Mesh *mesh)
Vector3 *tan1 = (Vector3 *)RL_MALLOC(mesh->vertexCount*sizeof(Vector3)); Vector3 *tan1 = (Vector3 *)RL_MALLOC(mesh->vertexCount*sizeof(Vector3));
Vector3 *tan2 = (Vector3 *)RL_MALLOC(mesh->vertexCount*sizeof(Vector3)); Vector3 *tan2 = (Vector3 *)RL_MALLOC(mesh->vertexCount*sizeof(Vector3));
for (int i = 0; i < mesh->vertexCount - 3; i += 3) if (mesh->vertexCount % 3 != 0)
{
TRACELOG(LOG_WARNING, "MESH: vertexCount expected to be a multiple of 3. Expect uninitialized values.");
}
for (int i = 0; i <= mesh->vertexCount - 3; i += 3)
{ {
// Get triangle vertices // Get triangle vertices
Vector3 v1 = { mesh->vertices[(i + 0)*3 + 0], mesh->vertices[(i + 0)*3 + 1], mesh->vertices[(i + 0)*3 + 2] }; Vector3 v1 = { mesh->vertices[(i + 0)*3 + 0], mesh->vertices[(i + 0)*3 + 1], mesh->vertices[(i + 0)*3 + 2] };