diff --git a/libraries/entities-renderer/src/RenderableEntityItem.h b/libraries/entities-renderer/src/RenderableEntityItem.h index aaeecbdc0e..faa719b102 100644 --- a/libraries/entities-renderer/src/RenderableEntityItem.h +++ b/libraries/entities-renderer/src/RenderableEntityItem.h @@ -37,8 +37,6 @@ public: typedef render::Payload Payload; typedef Payload::DataPointer Pointer; - int touch = 0; - EntityItemPointer entity; }; @@ -79,7 +77,6 @@ public: render::ScenePointer scene = AbstractViewStateInterface::instance()->getMain3DScene(); pendingChanges.updateItem(_myItem, [](RenderableEntityItemProxy& data) { - data.touch++; }); scene->enqueuePendingChanges(pendingChanges); diff --git a/libraries/entities-renderer/src/RenderableParticleEffectEntityItem.cpp b/libraries/entities-renderer/src/RenderableParticleEffectEntityItem.cpp index e757f5c68a..e62dc82988 100644 --- a/libraries/entities-renderer/src/RenderableParticleEffectEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableParticleEffectEntityItem.cpp @@ -310,3 +310,14 @@ void RenderableParticleEffectEntityItem::createPipelines() { _texturedPipeline = gpu::Pipeline::create(program, state); } } + +void RenderableParticleEffectEntityItem::notifyBoundChanged() { + if (_renderItemId == render::Item::INVALID_ITEM_ID) { + return; + } + render::PendingChanges pendingChanges; + pendingChanges.updateItem(_renderItemId, [](ParticlePayloadData& payload) { + }); + + _scene->enqueuePendingChanges(pendingChanges); +} \ No newline at end of file diff --git a/libraries/entities-renderer/src/RenderableParticleEffectEntityItem.h b/libraries/entities-renderer/src/RenderableParticleEffectEntityItem.h index 0c1cc50a98..f2640bdf10 100644 --- a/libraries/entities-renderer/src/RenderableParticleEffectEntityItem.h +++ b/libraries/entities-renderer/src/RenderableParticleEffectEntityItem.h @@ -29,6 +29,11 @@ public: virtual void removeFromScene(EntityItemPointer self, render::ScenePointer scene, render::PendingChanges& pendingChanges) override; protected: + virtual void locationChanged() override { EntityItem::locationChanged(); notifyBoundChanged(); } + virtual void dimensionsChanged() override { EntityItem::dimensionsChanged(); notifyBoundChanged(); } + + void notifyBoundChanged(); + void createPipelines(); render::ScenePointer _scene; diff --git a/libraries/entities-renderer/src/RenderableZoneEntityItem.cpp b/libraries/entities-renderer/src/RenderableZoneEntityItem.cpp index 530c4f5063..56771296db 100644 --- a/libraries/entities-renderer/src/RenderableZoneEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableZoneEntityItem.cpp @@ -234,3 +234,17 @@ void RenderableZoneEntityItem::removeFromScene(EntityItemPointer self, std::shar _model->removeFromScene(scene, pendingChanges); } } + + +void RenderableZoneEntityItem::notifyBoundChanged() { + if (_myMetaItem == render::Item::INVALID_ITEM_ID) { + return; + } + render::PendingChanges pendingChanges; + render::ScenePointer scene = AbstractViewStateInterface::instance()->getMain3DScene(); + + pendingChanges.updateItem(_myMetaItem, [](RenderableZoneEntityItemMeta& data) { + }); + + scene->enqueuePendingChanges(pendingChanges); +} diff --git a/libraries/entities-renderer/src/RenderableZoneEntityItem.h b/libraries/entities-renderer/src/RenderableZoneEntityItem.h index 36555dbc45..f669960a94 100644 --- a/libraries/entities-renderer/src/RenderableZoneEntityItem.h +++ b/libraries/entities-renderer/src/RenderableZoneEntityItem.h @@ -40,6 +40,10 @@ public: virtual void removeFromScene(EntityItemPointer self, std::shared_ptr scene, render::PendingChanges& pendingChanges); private: + virtual void locationChanged() override { EntityItem::locationChanged(); notifyBoundChanged(); } + virtual void dimensionsChanged() override { EntityItem::dimensionsChanged(); notifyBoundChanged(); } + void notifyBoundChanged(); + Model* getModel(); void initialSimulation(); void updateGeometry();