From b1d0df06d98b4348d37271e11f353a4641b2de39 Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Mon, 11 Sep 2017 12:07:41 -0700 Subject: [PATCH] Add error handling in FBXBaker for empty nodes and failed draco compression --- libraries/baking/src/FBXBaker.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libraries/baking/src/FBXBaker.cpp b/libraries/baking/src/FBXBaker.cpp index b5cd94cec7..30c9510a52 100644 --- a/libraries/baking/src/FBXBaker.cpp +++ b/libraries/baking/src/FBXBaker.cpp @@ -304,6 +304,11 @@ void FBXBaker::rewriteAndBakeSceneModels() { numTriangles += part.triangleIndices.size() / 3; } + if (numTriangles == 0) { + qDebug() << "Skipping compression of mesh because no triangles were found"; + continue; + } + draco::TriangleSoupMeshBuilder meshBuilder; meshBuilder.Start(numTriangles); @@ -397,6 +402,11 @@ void FBXBaker::rewriteAndBakeSceneModels() { auto dracoMesh = meshBuilder.Finalize(); + if (!dracoMesh) { + qWarning() << "Failed to finalize the baking of a draco Geometry node"; + continue; + } + draco::Encoder encoder; draco::EncoderBuffer buffer; encoder.EncodeMeshToBuffer(*dracoMesh, &buffer);