add bbCenter to outline material

This commit is contained in:
Nick Fisher
2025-07-03 11:52:50 +08:00
parent 8e88252337
commit c12ec892f3
2 changed files with 92 additions and 0 deletions

View File

@@ -64,9 +64,19 @@ namespace thermion
void addOverlayComponent(utils::Entity target, filament::MaterialInstance *materialInstance)
{
std::lock_guard lock(mMutex);
auto &rm = mEngine->getRenderableManager();
auto ri = rm.getInstance(target);
if(!ri.isValid()) {
return;
}
auto bb = rm.getAxisAlignedBoundingBox(ri);
auto *color = mRenderTarget->getTexture(filament::RenderTarget::AttachmentPoint::COLOR);
materialInstance->setParameter("depth", color, mDepthSampler);
materialInstance->setParameter("bbCenter", bb.center);
if (!hasComponent(target))
{
utils::EntityInstanceBase::Type componentInstance = addComponent(target);