class Enlighten MultithreadCpuWorkerCommon

This is the documentation for Enlighten.

class Enlighten MultithreadCpuWorkerCommon

class Enlighten::MultithreadCpuWorkerCommon

    └>Enlighten::CpuWorker
        └>Enlighten::BaseWorker
            └>Enlighten::IUpdateManagerWorker

Implementation of the worker class, containing functionality for platforms which run tasks on a multithreaded CPU.

This includes Windows PC. There are three possible ways the MulithreadCpuWorker can execute tasks:

  • via the AsyncTaskCallback, if it is supplied at creation; or

  • via Intel Threaded Building Blocks (Windows only); or

  • failing both of these, on a single worker thread

 

Enums

Name

Description

ProcessingStage

Internal enumeration for keeping track of the update loop.

Variables

Name

Description

Geo::RingBuffer m_CommandBuffer

Buffer of enqueued commands.

Geo::s64 m_CommandThreadTicks

Time taken to execute commands on the command thread.

Geo::GeoKeyValueArray< Geo::GeoGuid, BaseCubeMap > m_CubeMapArray

Cube map GUID to data mapping.

eOutputFormat m_CubemapOutputFormat

Cubemap output format (immutable)

ProcessingStage m_CurrentStage

The current processing stage in the Enlighten update loop.

Geo::GeoCriticalSection m_DestroyArrayCriticalSection

Critical section for modifying the to-be-destroyed array.

Geo::GeoKeyValueArray< Geo::GeoGuid, UpdateManagerLight > m_DirectionalLights

Array of directional lights.

Geo::GeoMap< Geo::u32, DirectionPalette * > m_DirectionPalettes

Map of DirectionPalettes for use with EPSS.

Geo::GeoKeyValueArray< Geo::GeoGuid, BaseDynamicObject > m_DynamicObjectArray

Dynamic object GUID to data mapping.

Geo::GeoAtomic< Geo::u32 > m_EnlightenTaskIndex

Index of next task in the Enlighten task queue.

Geo::GeoArray< EnlightenTask > m_EnlightenTasks

List of low-level Enlighten tasks to do.

Geo::GeoKeyValueArray< Geo::GeoGuid, BaseEnvironment > m_EnvironmentArray

Environment GUID to data mapping.

Geo::GeoEvent m_ExecuteCommandEvent

Handle to event trigger to execute commands.

UpdateManagerWorkerProperties m_GlobalState

Global solver parameters.

bool m_InputLightingListDirty

Regenerate the hash of the InputLightingList.

Geo::u32 m_InputLightingListHash

Hash of the list of InputLightingBuffers.

PrecisionHint::Value m_InputLightingPrecisionHint

Input lighting precision hint.

Geo::u32 m_InterpolationInputChangeId

Counter incremented when the list of probe inputs is recreated.

bool m_InterpolationInputListRecreated

Flag set when the list of probe inputs was recreated.

Geo::GeoArray< InterpolationInputSet > m_InterpolationInputSets

List of interpolation inputs (ie probe sets with their output)

Geo::GeoAtomic< Geo::u32 > m_InterpolationTimeUs

Interpolation times in microseconds.

eOutputFormat m_IrradianceOutputFormat

Irradiance output format (immutable)

Geo::s64 m_LastUpdateTick

The last time we started to update (used for stats computation).

Geo::GeoMap< Geo::s32, Geo::s32 > m_LightBankMap

Light bank id to number of updates counter.

LightMethodSelector * m_LightMethodSelector

Light method selector.

Geo::GeoKeyValueArray< Geo::GeoGuid, UpdateManagerLight > m_LightsWithoutVisibility

Array of non-directional lights without visibility data.