From 72ac35c6f79a3d8be32ba67bba43b6552f7cf69a Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Thu, 4 Apr 2019 08:28:03 -0700 Subject: [PATCH] avoid nan in Model::_scale --- libraries/render-utils/src/Model.cpp | 2 ++ libraries/render-utils/src/Model.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/libraries/render-utils/src/Model.cpp b/libraries/render-utils/src/Model.cpp index 89a9c7cf47..4cceb5ccb3 100644 --- a/libraries/render-utils/src/Model.cpp +++ b/libraries/render-utils/src/Model.cpp @@ -1289,6 +1289,8 @@ void Model::scaleToFit() { // size is our "target size in world space" // we need to set our model scale so that the extents of the mesh, fit in a box that size... glm::vec3 meshDimensions = modelMeshExtents.maximum - modelMeshExtents.minimum; + const glm::vec3 MIN_MESH_DIMENSIONS { 1.0e-6f }; // one micrometer + meshDimensions = glm::max(meshDimensions, MIN_MESH_DIMENSIONS); glm::vec3 rescaleDimensions = _scaleToFitDimensions / meshDimensions; setScaleInternal(rescaleDimensions); _scaledToFit = true; diff --git a/libraries/render-utils/src/Model.h b/libraries/render-utils/src/Model.h index d1d4a7d3d1..3c207c982c 100644 --- a/libraries/render-utils/src/Model.h +++ b/libraries/render-utils/src/Model.h @@ -397,7 +397,7 @@ protected: glm::vec3 _translation; // this is the translation in world coordinates to the model's registration point glm::quat _rotation; - glm::vec3 _scale; + glm::vec3 _scale { 1.0f }; glm::vec3 _overrideTranslation; glm::quat _overrideRotation;