Skip to content

Commit

Permalink
#5584: Fix merge node highlight rendering
Browse files Browse the repository at this point in the history
  • Loading branch information
codereader committed Jan 24, 2022
1 parent 00b8749 commit b343967
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 7 deletions.
22 changes: 15 additions & 7 deletions libs/scene/merge/MergeActionNode.cpp
Expand Up @@ -98,6 +98,16 @@ const Matrix4& MergeActionNodeBase::localToWorld() const
return identity;
}

void MergeActionNodeBase::onPreRender(const VolumeTest& volume)
{
_affectedNode->onPreRender(volume);
_affectedNode->foreachNode([&](const INodePtr& child)
{
child->onPreRender(volume);
return true;
});
}

void MergeActionNodeBase::renderSolid(IRenderableCollector& collector, const VolumeTest& volume) const
{
_affectedNode->renderSolid(collector, volume);
Expand All @@ -120,14 +130,12 @@ void MergeActionNodeBase::renderWireframe(IRenderableCollector& collector, const

void MergeActionNodeBase::renderHighlights(IRenderableCollector& collector, const VolumeTest& volume)
{
if (collector.supportsFullMaterials())
{
renderSolid(collector, volume);
}
else
_affectedNode->renderHighlights(collector, volume);
_affectedNode->foreachNode([&](const INodePtr& child)
{
renderWireframe(collector, volume);
}
child->renderHighlights(collector, volume);
return true;
});
}

std::size_t MergeActionNodeBase::getHighlightFlags()
Expand Down
1 change: 1 addition & 0 deletions libs/scene/merge/MergeActionNode.h
Expand Up @@ -50,6 +50,7 @@ class MergeActionNodeBase :
const AABB& localAABB() const override;
const Matrix4& localToWorld() const override;

void onPreRender(const VolumeTest& volume) override;
void renderSolid(IRenderableCollector& collector, const VolumeTest& volume) const override;
void renderWireframe(IRenderableCollector& collector, const VolumeTest& volume) const override;
void renderHighlights(IRenderableCollector& collector, const VolumeTest& volume) override;
Expand Down

0 comments on commit b343967

Please sign in to comment.