From 2f358f3380082a44438958c969c96b324a072d56 Mon Sep 17 00:00:00 2001 From: SamGondelman Date: Thu, 2 Aug 2018 11:33:39 -0700 Subject: [PATCH] fix shapes always drawing as transparents --- libraries/entities-renderer/src/RenderableEntityItem.cpp | 9 +++++++++ .../entities-renderer/src/RenderableShapeEntityItem.cpp | 9 ++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/libraries/entities-renderer/src/RenderableEntityItem.cpp b/libraries/entities-renderer/src/RenderableEntityItem.cpp index 78801df715..f04ee28d7f 100644 --- a/libraries/entities-renderer/src/RenderableEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableEntityItem.cpp @@ -336,6 +336,11 @@ bool EntityRenderer::needsRenderUpdate() const { if (_needsRenderUpdate) { return true; } + + if (isFading()) { + return true; + } + if (_prevIsTransparent != isTransparent()) { return true; } @@ -380,6 +385,10 @@ void EntityRenderer::updateModelTransformAndBound() { void EntityRenderer::doRenderUpdateSynchronous(const ScenePointer& scene, Transaction& transaction, const EntityItemPointer& entity) { DETAILED_PROFILE_RANGE(simulation_physics, __FUNCTION__); withWriteLock([&] { + if (isFading()) { + emit requestRenderUpdate(); + } + auto transparent = isTransparent(); if (_prevIsTransparent && !transparent) { _isFading = false; diff --git a/libraries/entities-renderer/src/RenderableShapeEntityItem.cpp b/libraries/entities-renderer/src/RenderableShapeEntityItem.cpp index c50b3bd760..3fd79ffad1 100644 --- a/libraries/entities-renderer/src/RenderableShapeEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableShapeEntityItem.cpp @@ -216,7 +216,14 @@ ShapeKey ShapeEntityRenderer::getShapeKey() { return builder.build(); } else { - return Parent::getShapeKey(); + ShapeKey::Builder builder; + if (_procedural.isReady()) { + builder.withOwnPipeline(); + } + if (isTransparent()) { + builder.withTranslucent(); + } + return builder.build(); } }