From c5628b615c7939e40a0d108b2d5edfd1482cec80 Mon Sep 17 00:00:00 2001 From: Brad Davis Date: Wed, 24 Aug 2016 16:05:22 -0700 Subject: [PATCH] Make sure we start fade in once an item becomes ready --- libraries/render-utils/src/MeshPartPayload.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/libraries/render-utils/src/MeshPartPayload.cpp b/libraries/render-utils/src/MeshPartPayload.cpp index 63082a8995..1c8c89d6db 100644 --- a/libraries/render-utils/src/MeshPartPayload.cpp +++ b/libraries/render-utils/src/MeshPartPayload.cpp @@ -533,10 +533,21 @@ void ModelMeshPartPayload::startFade() { void ModelMeshPartPayload::render(RenderArgs* args) const { PerformanceTimer perfTimer("ModelMeshPartPayload::render"); - if (!_model->_readyWhenAdded || !_model->_isVisible || !_hasStartedFade) { + if (!_model->_readyWhenAdded || !_model->_isVisible) { return; // bail asap } + // If we didn't start the fade in, check if we are ready to now.... + if (!_hasStartedFade && _model->isLoaded() && _model->getGeometry()->areTexturesLoaded()) { + const_cast(*this).startFade(); + } + + // If we still didn't start the fade in, bail + if (!_hasStartedFade) { + return; + } + + // When an individual mesh parts like this finishes its fade, we will mark the Model as // having render items that need updating bool nextIsFading = _isFading ? isStillFading() : false;