From 8e9f3f533e66a5db60ab3883783cc6e57e0535d5 Mon Sep 17 00:00:00 2001 From: Steve M Date: Sat, 30 Mar 2024 09:36:29 -0700 Subject: [PATCH] Sign 'o life: simple usdc cube loads TODO: faces incorrect --- code/AssetLib/USD/USDLoaderImplTinyusdz.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/code/AssetLib/USD/USDLoaderImplTinyusdz.cpp b/code/AssetLib/USD/USDLoaderImplTinyusdz.cpp index 379499134..1bed7a55d 100644 --- a/code/AssetLib/USD/USDLoaderImplTinyusdz.cpp +++ b/code/AssetLib/USD/USDLoaderImplTinyusdz.cpp @@ -120,6 +120,15 @@ void USDImporterImplTinyusdz::verticesForMesh( pScene->mMeshes[meshIdx]->mVertices[j].y = render_scene.meshes[meshIdx].points[j][1]; pScene->mMeshes[meshIdx]->mVertices[j].z = render_scene.meshes[meshIdx].points[j][2]; } + pScene->mMeshes[meshIdx]->mNumFaces = render_scene.meshes[meshIdx].faceVertexCounts.size(); + pScene->mMeshes[meshIdx]->mFaces = new aiFace[pScene->mMeshes[meshIdx]->mNumFaces](); + for (size_t i = 0; i < pScene->mMeshes[meshIdx]->mNumFaces; ++i) { + pScene->mMeshes[meshIdx]->mFaces[i].mNumIndices = render_scene.meshes[meshIdx].faceVertexIndices.size(); + pScene->mMeshes[meshIdx]->mFaces[i].mIndices = new unsigned int[pScene->mMeshes[meshIdx]->mFaces[i].mNumIndices]; + for (size_t j = 0; j < pScene->mMeshes[meshIdx]->mFaces[i].mNumIndices; ++j) { + pScene->mMeshes[meshIdx]->mFaces[i].mIndices[j] = render_scene.meshes[meshIdx].faceVertexIndices[j]; + } + } } } // namespace Assimp