replace overlay render target when viewport resizes

This commit is contained in:
Nick Fisher
2025-07-01 16:58:46 +08:00
parent e731556e6f
commit 73e6597301
4 changed files with 51 additions and 3 deletions

View File

@@ -29,13 +29,18 @@ EMSCRIPTEN_KEEPALIVE TOverlayManager *OverlayManager_create(TEngine *tEngine, TR
return reinterpret_cast<TOverlayManager *>(overlayManager);
}
EMSCRIPTEN_KEEPALIVE void OverlayManager_setRenderTarget(TOverlayManager *tOverlayManager, TRenderTarget *tRenderTarget) {
auto *overlayManager = reinterpret_cast<OverlayComponentManager *>(tOverlayManager);
auto *renderTarget = reinterpret_cast<filament::RenderTarget *>(tRenderTarget);
overlayManager->setRenderTarget(renderTarget);
}
EMSCRIPTEN_KEEPALIVE void OverlayManager_addComponent(TOverlayManager *tOverlayManager, EntityId entityId, TMaterialInstance *tMaterialInstance) {
auto *overlayManager = reinterpret_cast<OverlayComponentManager *>(tOverlayManager);
auto *materialInstance = reinterpret_cast<filament::MaterialInstance *>(tMaterialInstance);
overlayManager->addOverlayComponent(utils::Entity::import(entityId), materialInstance);
}
EMSCRIPTEN_KEEPALIVE void OverlayManager_removeComponent(TOverlayManager *tOverlayManager, EntityId entityId) {
auto *overlayManager = reinterpret_cast<OverlayComponentManager *>(tOverlayManager);
overlayManager->removeOverlayComponent(utils::Entity::import(entityId));