class
LightObjectStorageBase
Contains render thread representation of light objects, stored in packed arrays accessible by PackedRendererId.
Implements main -> render thread synchronization logic for light objects.
Public
Methods
SyncRead
Scans the provided registry for dirty objects, generates the update packets and stores them into a batch buffer allocated by .
Returns pointer to the batch buffer memory.
SyncWrite
Applies data from a batch buffer generated by SyncRead to objects on the render thread, and frees the frame-allocated batch data via .
GetLightProxy
Returns the light proxy at the given slot.
GetLightProxy
Returns the light proxy at the given slot (const).
GetLightCount
Returns the total number of lights.
CreateRenderState
Called once per frame for each new light being added, or a light whose data needs to be rebuilt after a significant update (in which case DestroyRenderState will be called first).
DestroyRenderState
Called once per frame for each light that is being removed, or a light that needs to be rebuilt after a significant update (in which case CreateRenderState will be called right after).
UpdateRenderState
Called once per frame for each light that needs to be updated after a minor update (e.g. one that doesn't require a full render state rebuild, such as a transform change).