class
RendererScene
Contains information about the scene (e.g. renderables, lights, cameras) required by the renderer.
Public
Methods
~RendererScene
AllocateRenderableId
Allocates a persistent render object ID for a renderable and adds the ecs::RenderableId fragment.
DeallocateRenderableId
Removes the ecs::RenderableId fragment and deallocates the persistent render object ID.
AllocateLightId
Allocates a persistent render object ID for a light and adds the ecs::LightId fragment.
DeallocateLightId
Removes the ecs::LightId fragment and deallocates the persistent render object ID.
AllocateDecalId
Allocates a persistent render object ID for a decal and adds the ecs::DecalId fragment.
DeallocateDecalId
Removes the ecs::DecalId fragment and deallocates the persistent render object ID.
AllocateParticleSystemId
Allocates a persistent render object ID for a particle system and adds the ecs::ParticleSystemId fragment.
DeallocateParticleSystemId
Removes the ecs::ParticleSystemId fragment and deallocates the persistent render object ID.
AllocateReflectionProbeId
Allocates a persistent render object ID for a reflection probe and adds the ecs::ReflectionProbeId fragment.
DeallocateReflectionProbeId
Removes the ecs::ReflectionProbeId fragment and deallocates the persistent render object ID.
GetReflectionProbeStorage
Returns the reflection probe object storage for this scene.
SetOwner
Sets the owning SceneInstance and subscribes to OnWillRemove events for automatic cleanup of renderer IDs and dirty tags when data fragments are removed from entities.
SyncToRenderThread
Reads dirty ECS data on the main thread and posts a command to write the changes to the render thread, for all RenderableObjectStorage objects.
Protected
Methods
Initialize
Initializes all the internal data of this object.
Must be called right after construction for new objects, or after deserialization for deserialized objects. If requested, render proxy is created and queued for initialization on the render thread.
CreateRenderProxy
Creates an object that contains render thread specific data and methods for this object.
Can be null if such object is not required.
SyncRead
Reads dirty ECS data for all sync handlers in this scene into a frame-allocated RendererSceneSyncData.
Returns nullptr if no data is dirty.