@startuml hide footbox Application -> Root: renderOneFrame activate Root Root -> RenderSystem: _updateAllRenderTargets activate RenderSystem RenderSystem -> RenderTarget: update activate RenderTarget 'RenderTarget -> RenderTarget: _updateAutoUpdatedViewports RenderTarget -> Viewport: update activate Viewport Viewport -> Camera: _renderScene activate Camera Camera -> SceneManager: _renderScene activate SceneManager SceneManager -> SceneManager: _renderVisibleObjects SceneManager -> SceneManager: _renderQueueGroupObjects loop SceneManager -> SceneManager: _issueRenderOp SceneManager -> Renderable: getRenderOperation activate Renderable Renderable --> SceneManager: RenderOperation deactivate Renderable SceneManager -> RenderSystem: _render activate RenderSystem RenderSystem --> SceneManager deactivate RenderSystem end SceneManager --> Camera deactivate SceneManager Camera --> Viewport deactivate Camera Viewport --> RenderTarget deactivate Viewport RenderTarget --> RenderSystem deactivate RenderTarget RenderSystem --> Root deactivate RenderSystem Root --> Application deactivate Root @enduml