SceneRenderingSystem.ixx File
System for rendering scenes through their associated viewports. More...
Included Headers
#include <cassert>
#include <vector>
#include <helios.engine.modules.scene.components.SceneNodeComponent>
#include <helios.engine.modules.scene.types.SceneToViewportMap>
#include <helios.rendering.RenderPassFactory>
#include <helios.engine.runtime.world.UpdateContext>
#include <helios.engine.mechanics.lifecycle.components.Active>
#include <helios.engine.ecs.System>
#include <helios.engine.modules.spatial.transform.components.ComposeTransformComponent>
#include <helios.engine.runtime.world.GameWorld>
#include <helios.rendering.RenderingDevice>
#include <helios.engine.runtime.world.Session>
#include <helios.scene.Scene>
Namespaces Index
| namespace | helios |
| namespace | engine |
|
Main engine module aggregating core infrastructure and game systems. More... | |
| namespace | modules |
|
Domain-specific components and systems. More... | |
| namespace | scene |
|
Scene graph integration for game entities. More... | |
| namespace | systems |
Classes Index
| class | SceneRenderingSystem |
|
Renders scenes through their configured viewports. More... | |
Description
System for rendering scenes through their associated viewports.
File Listing
The file content with the documentation metadata removed is:
32export namespace helios::engine::modules::scene::systems {
50 class SceneRenderingSystem : public helios::engine::ecs::System {
55 helios::rendering::RenderingDevice& renderingDevice_;
60 helios::engine::modules::scene::types::SceneToViewportMap& sceneToViewportMap_;
70 explicit SceneRenderingSystem(
71 helios::rendering::RenderingDevice& renderingDevice,
72 helios::engine::modules::scene::types::SceneToViewportMap& sceneToViewportMap
85 void update(helios::engine::runtime::world::UpdateContext& updateContext) noexcept override {
94 auto scene = sceneToViewportMap_.scene(viewportId);
95 if (!scene) {
99 auto viewport = sceneToViewportMap_.viewport(scene->sceneId(), viewportId);
104 const auto& snapshot = scene->createSnapshot(*viewport);
106 auto renderPass = helios::rendering::RenderPassFactory::getInstance()
107 .buildRenderPass(*snapshot);
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.