From 83426fd5a8c0c4804e584fbff2bd24d7800c9baf Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Thu, 28 Jul 2016 10:30:28 -0700 Subject: [PATCH] handle transitions to/from STATIC_MESH when rendering collision geometry --- .../src/RenderableModelEntityItem.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/libraries/entities-renderer/src/RenderableModelEntityItem.cpp b/libraries/entities-renderer/src/RenderableModelEntityItem.cpp index 2d03f76ae6..d47c9afab6 100644 --- a/libraries/entities-renderer/src/RenderableModelEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableModelEntityItem.cpp @@ -438,13 +438,11 @@ void RenderableModelEntityItem::render(RenderArgs* args) { remapTextures(); // update whether the model should be showing collision mesh (this may flag for fixupInScene) - ShapeType type = getShapeType(); - bool shouldShowCollisionGeometry = type != SHAPE_TYPE_STATIC_MESH && - type != SHAPE_TYPE_NONE && - (args->_debugFlags & (int)RenderArgs::RENDER_DEBUG_HULLS) > 0; - if (shouldShowCollisionGeometry != _showCollisionGeometry) { - _showCollisionGeometry = shouldShowCollisionGeometry; - if (_showCollisionGeometry) { + bool showingCollisionGeometry = (bool)(args->_debugFlags & (int)RenderArgs::RENDER_DEBUG_HULLS); + if (showingCollisionGeometry != _showCollisionGeometry) { + ShapeType type = getShapeType(); + _showCollisionGeometry = showingCollisionGeometry; + if (_showCollisionGeometry && type != SHAPE_TYPE_STATIC_MESH && type != SHAPE_TYPE_NONE) { // NOTE: it is OK if _collisionMeshKey is nullptr model::MeshPointer mesh = collisionMeshCache.getMesh(_collisionMeshKey); // NOTE: the model will render the collisionGeometry if it has one