diff --git a/src/api/graphics.c b/src/api/graphics.c index b43839c0..2b8b271c 100644 --- a/src/api/graphics.c +++ b/src/api/graphics.c @@ -637,6 +637,8 @@ int l_lovrGraphicsNewMesh(lua_State* L) { lua_pop(L, 1); } + + lovrMeshUnmap(mesh); } vec_deinit(&format); diff --git a/src/graphics/model.c b/src/graphics/model.c index b3182d07..49126dc2 100644 --- a/src/graphics/model.c +++ b/src/graphics/model.c @@ -93,6 +93,7 @@ Model* lovrModelCreate(ModelData* modelData) { model->mesh = lovrMeshCreate(vertices.length / components, &format, MESH_TRIANGLES, MESH_STATIC); void* data = lovrMeshMap(model->mesh, 0, vertices.length / components); memcpy(data, vertices.data, vertices.length * sizeof(float)); + lovrMeshUnmap(model->mesh); lovrMeshSetVertexMap(model->mesh, indices.data, indices.length); model->texture = NULL; diff --git a/src/loaders/model.c b/src/loaders/model.c index a55f7495..23278e0f 100644 --- a/src/loaders/model.c +++ b/src/loaders/model.c @@ -32,7 +32,7 @@ ModelData* lovrModelDataCreate(Blob* blob) { modelData->hasNormals = 0; modelData->hasTexCoords = 0; - unsigned int flags = aiProcessPreset_TargetRealtime_MaxQuality | aiProcess_OptimizeGraph; + unsigned int flags = aiProcessPreset_TargetRealtime_MaxQuality | aiProcess_OptimizeGraph | aiProcess_FlipUVs; const struct aiScene* scene = aiImportFileFromMemory(blob->data, blob->size, flags, NULL); // Meshes