class Enlighten CpuWorker

This is the documentation for Enlighten.

class Enlighten CpuWorker

class Enlighten::CpuWorker

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

Implementation of the worker class, containing functionality common to all platforms which solve radiosity on a CPU or SPU.

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)

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::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.

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

Array of non-directional lights with visibility data.

Geo::GeoAtomic< Geo::u32 > m_NumEnqueuedUpdates

Number of update calls currently in the command queue.

Geo::GeoArray< Geo::IGeoReleasable * > m_ObjectsToDestroy

Array of objects which need to be destroyed by update manager.

eOutputFormatByteOrder m_OutputFormatByteOrder

Byte order to output 8-bit textures (immutable)

Geo::GeoKeyValueArray< Geo::GeoGuid, BaseProbeSet > m_ProbeSetArray

ProbeSet GUID to data mapping.

Enlighten::IProbeSetManager * m_ProbeSetManager

Probe Sets Manager object that can provide probe weights for interpolation.

Geo::u32 m_PropertiesHash

Hash of the worker properties.

bool m_QuitThread

Flag which tells the worker thread to quit the update loop.

bool m_RecreateInterpolationInputList

Flag set when we need to regenerate the list of probe inputs.

bool m_RegisterWithProfiler

Flag to indicate that all objects need to be registered with the profiler.

bool m_SolvedRadiosity

Whether we have completed a solve since the last stats update.

SolveType m_SolveType

Whether to solve directional irradiance, directional irradiance separately for each colour channel or irradiance only)

EnlightenProfile * m_StatsProfile

Optional pointer to a statistics profiler.

Geo::GeoKeyValueArray< Geo::GeoGuid, BaseSystem > m_SystemArray

System GUID to data mapping.

Command * m_ThreadCreationCommand

Command to execute on the worker thread on creation.

bool m_ThreadRunning

Is the command thread running.

bool m_UseEntireProbeSetSolver

Should we use the EPSS?

bool m_UseProbeSetLod

Use or not Probe Set LOD.