88 void update(
double time) override;
91 [[nodiscard]]
SystemOrder getOrder() const noexcept final {
return 100; }
104#define CE_RENDERING_SYSTEM_ENTITY_SYNC(T) \
105 void didAdd(const T& entity) noexcept final; \
106 void didRemove(const T& entity) noexcept final; \
107 void didChange(const T& entity, const EntityChangeSet& changeSet) noexcept final;
113#undef CE_RENDERING_SYSTEM_ENTITY_SYNC
#define CE_SCRIPT_EXPORT(...)
The CE_SCRIPT_EXPORT macro marks a class or method as exportable and available in scripting environme...
Definition Macros.hpp:247
#define CE_RENDERING_SYSTEM_ENTITY_SYNC(T)
Definition RenderingSystem.hpp:104
Definition Camera.hpp:247
Definition EntityManager.hpp:49
The Environment object is a mixin entity from a Scene that holds the environment to be rendered on th...
Definition Environment.hpp:58
A scene light.
Definition Light.hpp:275
Definition Renderable.hpp:109
The CeresEngine renderer.
Definition Renderer.hpp:35
A class that represents a scene inside the renderer.
Definition RendererScene.hpp:34
A system that connects the rendering system to the CeresEngine renderer.
Definition RenderingSystem.hpp:40
RendererScene * mRendererScene
The renderer scene, created from the regular scene.
Definition RenderingSystem.hpp:49
Scene * getScene() const noexcept
The scene that owns the rendering system.
Definition RenderingSystem.hpp:98
Scene * mScene
The scene that owns the rendering system.
Definition RenderingSystem.hpp:46
RenderingSystem(Renderer &renderer)
Creates a new rendering system instance.
Renderer & getRenderer() const noexcept
The currently active renderer instance.
Definition RenderingSystem.hpp:95
EntityMap< Renderable, RendererRenderable > mRenderables
A list of renderables currently registered with the renderer.
Definition RenderingSystem.hpp:62
RenderingSystem & operator=(const RenderingSystem &)=delete
EntityMap< TerrainRenderable, RendererTerrain > mTerrains
A list of terrains currently registered with the renderer.
Definition RenderingSystem.hpp:65
~RenderingSystem() final
Destroys the rendering system instance.
EntityMap< Light, RendererLight > mLights
A list of lights currently registered with the renderer.
Definition RenderingSystem.hpp:59
Renderer & mRenderer
The currently active renderer instance.
Definition RenderingSystem.hpp:43
EntityMap< Environment, RendererEnvironment > mEnvironments
A list of environments currently registered with the renderer.
Definition RenderingSystem.hpp:68
RenderingSystem(const RenderingSystem &)=delete
RendererScene * getRendererScene() const noexcept
The renderer scene, created from the regular scene.
Definition RenderingSystem.hpp:101
EntityMap< Camera, RendererCamera > mCameras
A list of cameras currently registered with the renderer.
Definition RenderingSystem.hpp:56
HashMap< Entity, RendererObject *, std::hash< Entity > > EntityMap
A map that stores a renderer-specific object pointer indexed by an entity.
Definition RenderingSystem.hpp:53
A resource that stores scene information.
Definition Scene.hpp:83
A system is a special kind of service that is managed internally by the SystemManager.
Definition System.hpp:168
The system manager is responsible for keeping track and dispatching updates to all attached systems.
Definition SystemManager.hpp:22
The Terrain object.
Definition TerrainRenderable.hpp:62
Definition Application.hpp:19
int SystemOrder
A signed numeric type that represents the order in which a system should be updated by the SystemMana...
Definition System.hpp:31
std::unordered_map< Key, T, Hash, KeyEqual, ScopedAllocatorAdaptor< StdAllocator< Pair< const Key, T >, RawAllocator > > > HashMap
HashMap is an associative container that contains key-value pairs with unique keys.
Definition Map.hpp:33
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25
Definition Entity.hpp:756