Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device. Atlassian cookies and tracking notice, (opens new window)

Enlighten API 3.10 Documentation
Results will update as you type.
  • Modules
  • Namespaces
    • namespace Enlighten
      • class Enlighten A8CpuTextureSampler
      • class Enlighten Alpha8Normalised
      • class Enlighten AsyncTaskThreadGroup
      • class Enlighten AutoProbeVolumes
      • class Enlighten BakedProbeOutputInfo
      • class Enlighten BakeInputLight
      • class Enlighten BakeInputMeshInfo
      • class Enlighten BakeMaterialInfo
      • class Enlighten BaseAlbedoHandler
      • class Enlighten BaseCubeMap
      • class Enlighten BaseDynamicObject
      • class Enlighten BaseEnvironment
      • class Enlighten BaseLightMeta
      • class Enlighten BaseProbeSet
      • class Enlighten BaseSystem
      • class Enlighten BaseSystemSolutionSpace
      • class Enlighten BaseUpdateManager
      • class Enlighten BaseWorker
      • class Enlighten BoundingBox2D
      • class Enlighten BoxSpotlight
      • class Enlighten BoxVolume
      • class Enlighten CallableEnqueueFunctorCommand
      • class Enlighten ClusterAlbedoWorkspaceMaterialData
      • class Enlighten ClusterMaterialComponent
      • class Enlighten ClusterMaterials
      • class Enlighten ClusterProbeBounceSampleData
      • class Enlighten ClusterProbeSample
      • class Enlighten ClusterProbeTransparencySampleData
      • class Enlighten ClusterRange
      • class Enlighten Command
      • class Enlighten ConstLightValueIterator
      • class Enlighten CopyAlbedoBufferInfo
      • class Enlighten CopyBounceBufferInfo
      • class Enlighten CopyEmissiveBufferInfo
      • class Enlighten CopyEmissiveEnvironmentInfo
      • class Enlighten CopyInputLightingBufferInfo
      • class Enlighten CopyProbeOutputInfo
      • class Enlighten CopyRawOutputInfo
      • class Enlighten CopyTransparencyBufferInfo
      • class Enlighten CopyVisibilityBufferInfo
      • class Enlighten CpuAlbedoHandler
      • class Enlighten CpuCubeMap
      • class Enlighten CpuDynamicObject
      • class Enlighten CpuEnvironment
      • class Enlighten CpuSystem
      • class Enlighten CpuSystemSolutionSpace
      • class Enlighten CpuTextureSamplerBase
      • class Enlighten CpuUpdateManager
      • class Enlighten CpuWorker
      • class Enlighten CubeMapDataBlock
      • class Enlighten CubeMapMeta
      • class Enlighten DefaultGeometryTransparencySampler
      • class Enlighten DefaultThreadGroup
      • class Enlighten DirectInputLightingParameters
      • class Enlighten DirectionalLight
      • class Enlighten DirectionalLightMeta
      • class Enlighten Dx9TextureUpdater
      • class Enlighten Dx11TextureUpdater
    Calendars

You‘re viewing this with anonymous access, so some content might be blocked.
/
class Enlighten BaseWorker

    This is the documentation for Enlighten.

    class Enlighten BaseWorker

    Nov 21, 2019

    class Enlighten::BaseWorker

        └>Enlighten::IUpdateManagerWorker

    Base implementation of the worker class, containing functionality common to all platforms.

    Functions

    Name Description
    AddCubeMap(BaseCubeMap *const &)

    Add a cube map to the worker.

    AddCubeMap(BaseCubeMap *const &)

    Add a cube map to the worker.

    AddDynamicObject(BaseDynamicObject *const &)

    Add a dynamic object to the worker.

    AddDynamicObject(BaseDynamicObject *const &)

    Add a dynamic object to the worker.

    AddProbeSet(BaseProbeSet *const &)

    Add a probe set to the worker.

    AddProbeSet(BaseProbeSet *const &)

    Add a probe set to the worker.

    AddSystem(BaseSystem *const &)

    Add a system to the worker, and allocate any required auxiliary resources.

    AddSystem(BaseSystem *const &)

    Add a system to the worker, and allocate any required auxiliary resources.

    AllocateVisibilityData(Geo::s32, Enlighten::eLightType)

    Allocates/Frees memory for visibility data.

    BaseWorker(SolveType, eOutputFormat, eOutputFormat, eOutputFormatByteOrder, PrecisionHint::Value, bool, bool, EnlightenProfile *)

    Base class constructor.

    Clear()

    Remove all objects from the worker, and free memory allocated by the worker.

    ClearCubeMapVolumeTransparency(Geo::GeoGuid const &)

    Clears the cube map volume transparency.

    ClearCubeMapVolumeTransparency(Geo::GeoGuid const &)

    Clears the cube map volume transparency.

    ClearSystemVolumeTransparency(Geo::GeoGuid const &)

    Clears the system volume transparency.

    ClearSystemVolumeTransparency(Geo::GeoGuid const &)

    Clears the system volume transparency.

    CopyAlbedoBuffer(CopyAlbedoBufferInfo const &)

    Allocate and make a copy of an albedo buffer.

    CopyBounceBuffer(CopyBounceBufferInfo const &)

    Allocate and make a copy of an emissive buffer.

    CopyEmissiveBuffer(CopyEmissiveBufferInfo const &)

    Allocate and make a copy of an emissive buffer.

    CopyEmissiveEnvironment(CopyEmissiveEnvironmentInfo const &)

    Allocate and make a copy of an emissive environment.

    CopyEmissiveEnvironment(CopyEmissiveEnvironmentInfo const &)

    Allocate and make a copy of an emissive environment.

    CopyGeometryTransparencyBuffer(CopyTransparencyBufferInfo const &)

    Allocate and make a copy of a geoemtry transparency buffer.

    CopyGeometryTransparencyBuffer(CopyTransparencyBufferInfo const &)

    Copies the geometry transparency buffer.

    CopyInputLightingBuffer(CopyInputLightingBufferInfo const &)

    Allocate and make a copy of an input lighting buffer.

    CopyMaterialTransparencyBuffer(CopyTransparencyBufferInfo const &)

    Allocate and make a copy of a material transparency buffer.

    CopyProbeOutput(CopyProbeOutputInfo const &)

    Allocate and make a copy of Enlighten probe set output.

    CopyProbeOutput(CopyProbeOutputInfo const &)

    Allocate and make a copy of Enlighten probe set output.

    CopyRawOutput(CopyRawOutputInfo const &)

    Allocate and make a copy of raw Enlighten texture output.

    CopyVisibilityBuffer(CopyVisibilityBufferInfo const &)

    Allocate and make a copy of a visibility data block.

    DecrementUpdateCounters()

    Decrements the update counters for all systems, probe sets, cube maps and light banks.

    DestroyAllWorkerObjects()

    Release all the objects this worker constructed.

    DoDynamicObjectInterpolation(BaseDynamicObject *)

    Do the interpolation for a single dynamic object, to allow multithreading.

    EnqueueCommand(CommandType &&)

    Enqueues a command for later execution by the worker thread, if it is running.

    EnqueueRadiosityUpdate()

    Enqueue a radiosity update on the worker thread.

    ExcludesEnvironmentInPrimaryBounce()

    Have we requested to solve the environment in secondary bounce only. (ie skip primary bounce)

    ExcludesEnvironmentInPrimaryBounce()

    Returns the value of the worker property m_ExcludeEnvrionmentInPrimaryBounce.

    ExecuteCommands()

    Executes and destroys commands in the command ring buffer until the buffer is empty.

    FindObject(ObjectType *, ObjectType *&)

    Finds the object with the given address.

    FindObject(const Geo::GeoGuid &, CpuSystem *&)

    Specialise the BaseWorker::FindObject to deal with a concrete type here.

    FindObject(const Geo::GeoGuid &, BaseDynamicObject *&)

    Finds the object with the given GUID.

    FindObject(const Geo::GeoGuid &, BaseCubeMap *&)

    Finds the object with the given GUID.

    FindObject(const Geo::GeoGuid &, BaseProbeSet *&)

    Finds the object with the given GUID.

    FindObject(const Geo::GeoGuid &, BaseSystem *&)

    Finds the object with the given GUID.

    FindObject(const Geo::GeoGuid &, ObjectType *&)

    Finds the object with the given GUID.

    FreeVisibilityData(Geo::s32, bool)

    Allocates/Frees memory for visibility data.

    GetInputLightingPrecisionHint()

    Gets the precision hint for the input lighting buffer,.

    GetLightMethodSelector()

    Gets the light method selector.

    GetLightMethodSelector()

    Gets the light method selector.

    GetSizeOfProbeInputWorkspaceMemory()

    Get the total size of probe set output workspaces.

    GetSizeOfProbeInputWorkspaceMemory()

    Get the total size of probe set output workspaces.

    GetSizeOfProbeOutputWorkspaceMemory()

    Get the total size of probe set input workspaces.

    GetSizeOfProbeOutputWorkspaceMemory()

    Get the total size of probe set input workspaces.

    GetSizeOfWorkingMemory()

    Get the size of the working memory required for solving.

    GetSizeOfWorkingMemory()

    Get the size of the working memory required for solving.

    GetSystemArray()

    Returns the array of systems. Used by the GeoMaya plug in to work out when to trigger refreshes.

    IsCommandThreadSafe()

    Returns true if called on the worker thread, or if no worker thread is running.

    IsUpdateLimited()

    Are we at the limit of the number of allowed enqueued updates, and therefore the update rate is throttled?

    IsUpdateLimited()

    Are we at the limit of the number of allowed enqueued updates, and therefore the update rate is throttled?

    IsWorkerThreadRunning()

    Returns true if a separate worker thread is currently running, false if not.

    ProbeSetManagerSetMaxWeightForProbeSet(Geo::GeoGuid const &, float)

    Set max interpolation weight for a given probe set.

    ProbeSetManagerSetMaxWeightForProbeSet(Geo::GeoGuid const &, float)

    Set max interpolation weight for a given probe set.

    PushMultipleObjectsToDestroy(Geo::IGeoReleasable *const *, Geo::s32)

    Push a list of objects which has been removed from the worker on to a list to be destroyed by the rendering thread.

    PushObjectToDestroy(Geo::IGeoReleasable *)

    Push an object which has been removed from the worker on to a list to be destroyed by the rendering thread.

    ReadInputLightingBuffer(ReadInputLightingBufferInfo const &)

    These functions are provided for debugging/visualisation purposes.

    RecreateInterpolationInputList()

    Updates the probe interpolation inputs, if required.

    ReleaseSystemSolutionSpaces(ReleaseSystemSolutionSpacesInfo const &)

    Release the solution spaces.

    ReleaseSystemSolutionSpaces(ReleaseSystemSolutionSpacesInfo const &)

    Release system solution spaces.

    RemoveAllLights()

    Remove all lights.

    RemoveAllLights()

    Remove all lights.

    RemoveCubeMap(RemoveInfo const &)

    Remove a cube map from the worker (either completely or partially)

    RemoveCubeMap(RemoveInfo const &)

    Remove a cube map from the worker (either completely or partially)

    RemoveDirectionalLight(Geo::GeoGuid)

    Removes a light with the given GUID from the list of directional lights (if one is found), and frees the associated memory.

    RemoveDynamicObject(RemoveInfo const &)

    Remove a dynamic object from the worker.

    RemoveDynamicObject(RemoveInfo const &)

    Remove a dynamic object from the worker.

    RemoveEmissiveEnvironment(Geo::GeoGuid const &)

    Remove the environment with the given id.

    RemoveEmissiveEnvironment(Geo::GeoGuid const &)

    Remove the environment with the given id.

    RemoveLight(Geo::GeoGuid const &)

    Remove the light with the given id.

    RemoveLight(Geo::GeoGuid const &)

    Remove the light with the given id.

    RemoveLightBank(Geo::s32 const &)

    Remove a light bank.

    RemoveLightBank(Geo::s32 const &)

    Remove a light bank.

    RemoveLightWithoutVisibility(Geo::GeoGuid)

    Removes a light with the given GUID from the list of lights without visibility (if one is found), and frees the associated memory.

    RemoveLightWithVisibility(Geo::GeoGuid)

    Removes a light with the given GUID from the list of lights with visibility (if one is found), and frees the associated memory.

    RemoveProbeSet(RemoveInfo const &)

    Remove a probe set from the worker (either completely or partially)

    RemoveProbeSet(RemoveInfo const &)

    Remove a probe set from the worker (either completely or partially)

    RemoveSystem(RemoveInfo const &)

    Remove a system from the worker (either completely or partially)

    RemoveSystem(RemoveInfo const &)

    Remove a system from the worker (either completely or partially)

    RemoveSystemSolutionSpaces(Geo::GeoGuid const &)

    Removes the solution spaces from the system. This function will not release the solution spaces.

    RemoveSystemSolutionSpaces(Geo::GeoGuid const &)

    Removes the solution spaces from the system. This function will not release the solution spaces.

    ReRegisterObjectsWithProfiler()

    Re-register all objects with the profiler.

    SetAllUpdateCounters(Geo::s32 const &)

    Set all system and probe update counters to count.

    SetAllUpdateCounters(Geo::s32 const &)

    Set all system and probe update counters to count.

    SetDoFullSolveNextFrame()

    Disable temporal coherence so a full solve is performed next frame.

    SetDoFullSolveNextFrame()

    Disable temporal coherence so a full solve is performed next frame.

    SetDoIndirectInputLightingNextFrame(Geo::GeoGuid const &)

    Sets a flag to run indirect input lighting on the next frame.

    SetDoIndirectInputLightingNextFrame(Geo::GeoGuid const &)

    Sets a flag to run indirect input lighting on the next frame.

    SetLightBankUpdateCounter(SetLightBankUpdateCounterInfo const &)

    Set a light bank update counter.

    SetLightBankUpdateCounter(SetLightBankUpdateCounterInfo const &)

    Set a light bank update counter.

    SetProbeSetManager(IProbeSetManager *const &)

    Set a probe set manager.

    SetProbeSetManager(IProbeSetManager *const &)

    Set a probe set manager.

    SetProbeSetTransform(SetProbeSetTransformInfo const &)

    Set a probe set world-to-local-space transform.

    SetProbeSetTransform(SetProbeSetTransformInfo const &)

    Set a probe set world-to-local-space transform.

    SetSystemSolutionSpaces(ISystemSolutionSpace *const *, const Geo::s32, const Geo::s32)

    Set the solution spaces used by a system.

    SetSystemSolutionSpaces(ISystemSolutionSpace *const *, const Geo::s32, const Geo::s32)

    Set the solution spaces used by a system.

    SetTransparencySamplePositionOffset(SetTransparencySamplePositionOffsetInfo const &)

    Sets the transparency sample position offset.

    SetTransparencySamplePositionOffset(SetTransparencySamplePositionOffsetInfo const &)

    Sets the transparency sample position offset.

    SetVisibilityBits(SetVisibilityBitsInfo const &)

    Sets the visibility block for a (system, light) pair.

    SetWorkerProperties(UpdateManagerWorkerProperties const &)

    Set the worker global state.

    SetWorkerProperties(const UpdateManagerWorkerProperties &)

    Set the worker global state.

    TriggerTransparencyVolume(const Enlighten::SphereVolume &)

    Triggers a transparency volume.

    TriggerTransparencyVolume(const Enlighten::SphereVolume &)

    Triggers a transparency volume.

    TriggerTransparencyVolume(const Enlighten::BoxVolume &)

    Triggers a transparency volume.

    TriggerTransparencyVolume(const Enlighten::BoxVolume &)

    Triggers a transparency volume.

    UpdateEmissiveEnvironment(UpdateEnvironmentInfo const &)

    Update (or add) the environment with the given id.

    UpdateLight(UpdateLightInfo const &)

    Update (or add) the light with the given id.

    UpdateLight(UpdateLightInfo const &)

    Update (or add) the light with the given id.

    UpdateRadiosity()

    The main radiosity update function.

    UpdateRadiosity()

    The main radiosity update function.

    WriteVisibilityPointers(void **, BaseSystem *, Geo::s32)

    Write ordered list of visibility data pointers for the given system and light bank Returns TRUE if any of the light inputs have changed.

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

    bool m_UseEntireProbeSetSolver

    Should we use the EPSS?

    bool m_UseProbeSetLod

    Use or not Probe Set LOD.


    virtual void Enlighten::IUpdateManagerWorker::AddCubeMap


    public: void AddCubeMap
    (
        BaseCubeMap *const & cubeMap
    )


    Add a cube map to the worker.


    virtual void Enlighten::BaseWorker::AddCubeMap


    public: virtual void AddCubeMap
    (
        BaseCubeMap *const & cubeMap
    )


    Add a cube map to the worker.


    virtual void Enlighten::IUpdateManagerWorker::AddDynamicObject


    public: void AddDynamicObject
    (
        BaseDynamicObject *const & dynamicObject
    )


    Add a dynamic object to the worker.


    virtual void Enlighten::BaseWorker::AddDynamicObject


    public: virtual void AddDynamicObject
    (
        BaseDynamicObject *const & dynamicObject
    )


    Add a dynamic object to the worker.


    virtual void Enlighten::IUpdateManagerWorker::AddProbeSet


    public: void AddProbeSet
    (
        BaseProbeSet *const & probeSet
    )


    Add a probe set to the worker.


    virtual void Enlighten::BaseWorker::AddProbeSet


    public: virtual void AddProbeSet
    (
        BaseProbeSet *const & probeSet
    )


    Add a probe set to the worker.


    virtual void Enlighten::BaseWorker::AddSystem


    public: virtual void AddSystem
    (
        BaseSystem *const & system
    )


    Add a system to the worker, and allocate any required auxiliary resources.


    virtual void Enlighten::IUpdateManagerWorker::AddSystem


    public: void AddSystem
    (
        BaseSystem *const & system
    )


    Add a system to the worker, and allocate any required auxiliary resources.


    virtual void Enlighten::BaseWorker::AllocateVisibilityData


    protected: virtual void AllocateVisibilityData
    (
        Geo::s32 lightIndex,
        Enlighten::eLightType lightType
    )


    Allocates/Frees memory for visibility data.


    Enlighten::BaseWorker::BaseWorker


    public: BaseWorker
    (
        SolveType solveType,
        eOutputFormat irradianceOutputFormat,
        eOutputFormat cubemapOutputFormat,
        eOutputFormatByteOrder byteOrder,
        PrecisionHint::Value inputLightingPrecisionHint,
        bool useEntireProbeSetSolver,
        bool useProbeSetLod,
        EnlightenProfile * profile
    )


    Base class constructor.

    Irradiance output format and optional stats profile are common to all worker implementations.


    virtual void Enlighten::BaseWorker::Clear


    public: virtual void Clear()


    Remove all objects from the worker, and free memory allocated by the worker.


    virtual void Enlighten::BaseWorker::ClearCubeMapVolumeTransparency


    public: virtual void ClearCubeMapVolumeTransparency
    (
        Geo::GeoGuid const & cubeMapId
    )


    Clears the cube map volume transparency.


    virtual void Enlighten::IUpdateManagerWorker::ClearCubeMapVolumeTransparency


    public: void ClearCubeMapVolumeTransparency
    (
        Geo::GeoGuid const & cubeMapId
    )


    Clears the cube map volume transparency.


    virtual void Enlighten::BaseWorker::ClearSystemVolumeTransparency


    public: virtual void ClearSystemVolumeTransparency
    (
        Geo::GeoGuid const & systemId
    )


    Clears the system volume transparency.


    virtual void Enlighten::IUpdateManagerWorker::ClearSystemVolumeTransparency


    public: void ClearSystemVolumeTransparency
    (
        Geo::GeoGuid const & systemId
    )


    Clears the system volume transparency.


    virtual void Enlighten::IUpdateManagerWorker::CopyAlbedoBuffer


    public: void CopyAlbedoBuffer
    (
        CopyAlbedoBufferInfo const & copyInfo
    )


    Allocate and make a copy of an albedo buffer.


    virtual void Enlighten::IUpdateManagerWorker::CopyBounceBuffer


    public: void CopyBounceBuffer
    (
        CopyBounceBufferInfo const & copyInfo
    )


    Allocate and make a copy of an emissive buffer.


    virtual void Enlighten::IUpdateManagerWorker::CopyEmissiveBuffer


    public: void CopyEmissiveBuffer
    (
        CopyEmissiveBufferInfo const & copyInfo
    )


    Allocate and make a copy of an emissive buffer.


    virtual void Enlighten::BaseWorker::CopyEmissiveEnvironment


    public: virtual void CopyEmissiveEnvironment
    (
        CopyEmissiveEnvironmentInfo const & copyEnvironmentInfo
    )


    Allocate and make a copy of an emissive environment.


    virtual void Enlighten::IUpdateManagerWorker::CopyEmissiveEnvironment


    public: void CopyEmissiveEnvironment
    (
        CopyEmissiveEnvironmentInfo const & copyEnvironmentInfo
    )


    Allocate and make a copy of an emissive environment.


    virtual void Enlighten::IUpdateManagerWorker::CopyGeometryTransparencyBuffer


    public: void CopyGeometryTransparencyBuffer
    (
        CopyTransparencyBufferInfo const & copyInfo
    )


    Allocate and make a copy of a geoemtry transparency buffer.


    virtual void Enlighten::BaseWorker::CopyGeometryTransparencyBuffer


    public: virtual void CopyGeometryTransparencyBuffer
    (
        CopyTransparencyBufferInfo const & copyInfo
    )


    Copies the geometry transparency buffer.


    virtual void Enlighten::IUpdateManagerWorker::CopyInputLightingBuffer


    public: void CopyInputLightingBuffer
    (
        CopyInputLightingBufferInfo const & copyInputLightingBufferInfo
    )


    Allocate and make a copy of an input lighting buffer.


    virtual void Enlighten::IUpdateManagerWorker::CopyMaterialTransparencyBuffer


    public: void CopyMaterialTransparencyBuffer
    (
        CopyTransparencyBufferInfo const & copyInfo
    )


    Allocate and make a copy of a material transparency buffer.


    virtual void Enlighten::BaseWorker::CopyProbeOutput


    public: virtual void CopyProbeOutput
    (
        CopyProbeOutputInfo const & copyProbeOutputInfo
    )


    Allocate and make a copy of Enlighten probe set output.


    virtual void Enlighten::IUpdateManagerWorker::CopyProbeOutput


    public: void CopyProbeOutput
    (
        CopyProbeOutputInfo const & copyProbeOutputInfo
    )


    Allocate and make a copy of Enlighten probe set output.


    virtual void Enlighten::IUpdateManagerWorker::CopyRawOutput


    public: void CopyRawOutput
    (
        CopyRawOutputInfo const & copyRawOutputInfo
    )


    Allocate and make a copy of raw Enlighten texture output.


    virtual void Enlighten::IUpdateManagerWorker::CopyVisibilityBuffer


    public: void CopyVisibilityBuffer
    (
        CopyVisibilityBufferInfo const & copyVisibilityBufferInfo
    )


    Allocate and make a copy of a visibility data block.


    void Enlighten::BaseWorker::DecrementUpdateCounters


    protected: void DecrementUpdateCounters()


    Decrements the update counters for all systems, probe sets, cube maps and light banks.


    void Enlighten::BaseWorker::DestroyAllWorkerObjects


    protected: void DestroyAllWorkerObjects()


    Release all the objects this worker constructed.


    void Enlighten::BaseWorker::DoDynamicObjectInterpolation


    protected: void DoDynamicObjectInterpolation
    (
        BaseDynamicObject * object
    )


    Do the interpolation for a single dynamic object, to allow multithreading.


    void Enlighten::BaseWorker::EnqueueCommand


    public: void EnqueueCommand
    (
        CommandType && newCommand
    )


    Enqueues a command for later execution by the worker thread, if it is running.

    If the worker thread isn't running, the command is executed immediately on the calling thread.


    void Enlighten::BaseWorker::EnqueueRadiosityUpdate


    public: void EnqueueRadiosityUpdate()


    Enqueue a radiosity update on the worker thread.


    bool Enlighten::BaseWorker::ExcludesEnvironmentInPrimaryBounce


    protected: virtual bool ExcludesEnvironmentInPrimaryBounce() const


    Have we requested to solve the environment in secondary bounce only. (ie skip primary bounce)


    virtual bool Enlighten::IUpdateManagerWorker::ExcludesEnvironmentInPrimaryBounce


    public: bool ExcludesEnvironmentInPrimaryBounce() const


    Returns the value of the worker property m_ExcludeEnvrionmentInPrimaryBounce.


    void Enlighten::BaseWorker::ExecuteCommands


    public: void ExecuteCommands()


    Executes and destroys commands in the command ring buffer until the buffer is empty.


    bool Enlighten::BaseWorker::FindObject


    public: bool FindObject
    (
        ObjectType * object,
        ObjectType *& result
    )


    Finds the object with the given address.


    bool Enlighten::BaseWorker::FindObject


    public: bool FindObject
    (
        const Geo::GeoGuid & id,
        CpuSystem *& systemObjectPtr
    )


    Specialise the BaseWorker::FindObject to deal with a concrete type here.


    bool Enlighten::BaseWorker::FindObject


    public: bool FindObject
    (
        const Geo::GeoGuid & id,
        BaseDynamicObject *& dynamicObjectPtr
    )


    Finds the object with the given GUID.


    bool Enlighten::BaseWorker::FindObject


    public: bool FindObject
    (
        const Geo::GeoGuid & id,
        BaseCubeMap *& cubeMapPtr
    )


    Finds the object with the given GUID.


    bool Enlighten::BaseWorker::FindObject


    public: bool FindObject
    (
        const Geo::GeoGuid & id,
        BaseProbeSet *& probeSetPtr
    )


    Finds the object with the given GUID.


    bool Enlighten::BaseWorker::FindObject


    public: bool FindObject
    (
        const Geo::GeoGuid & id,
        BaseSystem *& systemPtr
    )


    Finds the object with the given GUID.


    bool Enlighten::BaseWorker::FindObject


    public: bool FindObject
    (
        const Geo::GeoGuid & id,
        ObjectType *& dynamicObjectPtr
    )


    Finds the object with the given GUID.


    virtual void Enlighten::BaseWorker::FreeVisibilityData


    protected: virtual void FreeVisibilityData
    (
        Geo::s32 lightIndex,
        bool isDirectional
    )


    Allocates/Frees memory for visibility data.


    PrecisionHint::Value Enlighten::BaseWorker::GetInputLightingPrecisionHint


    public: PrecisionHint::Value GetInputLightingPrecisionHint()


    Gets the precision hint for the input lighting buffer,.


    virtual LightMethodSelector* Enlighten::BaseWorker::GetLightMethodSelector


    public: virtual LightMethodSelector * GetLightMethodSelector()


    Gets the light method selector.


    virtual LightMethodSelector* Enlighten::IUpdateManagerWorker::GetLightMethodSelector


    public: LightMethodSelector * GetLightMethodSelector()


    Gets the light method selector.


    virtual Geo::u32 Enlighten::BaseWorker::GetSizeOfProbeInputWorkspaceMemory


    public: virtual Geo::u32 GetSizeOfProbeInputWorkspaceMemory() const


    Get the total size of probe set output workspaces.


    virtual Geo::u32 Enlighten::IUpdateManagerWorker::GetSizeOfProbeInputWorkspaceMemory


    public: Geo::u32 GetSizeOfProbeInputWorkspaceMemory() const


    Get the total size of probe set output workspaces.


    virtual Geo::u32 Enlighten::IUpdateManagerWorker::GetSizeOfProbeOutputWorkspaceMemory


    public: Geo::u32 GetSizeOfProbeOutputWorkspaceMemory() const


    Get the total size of probe set input workspaces.


    virtual Geo::u32 Enlighten::BaseWorker::GetSizeOfProbeOutputWorkspaceMemory


    public: virtual Geo::u32 GetSizeOfProbeOutputWorkspaceMemory() const


    Get the total size of probe set input workspaces.


    virtual Geo::u32 Enlighten::IUpdateManagerWorker::GetSizeOfWorkingMemory


    public: Geo::u32 GetSizeOfWorkingMemory() const


    Get the size of the working memory required for solving.


    virtual Geo::u32 Enlighten::BaseWorker::GetSizeOfWorkingMemory


    public: virtual Geo::u32 GetSizeOfWorkingMemory() const


    Get the size of the working memory required for solving.


    Geo::GeoKeyValueArray<Geo::GeoGuid, BaseSystem>& Enlighten::BaseWorker::GetSystemArray


    public: Geo::GeoKeyValueArray< Geo::GeoGuid, BaseSystem > & GetSystemArray()


    Returns the array of systems. Used by the GeoMaya plug in to work out when to trigger refreshes.


    virtual bool Enlighten::BaseWorker::IsCommandThreadSafe


    protected: bool IsCommandThreadSafe() const


    Returns true if called on the worker thread, or if no worker thread is running.

    Only used to assert thread safety in debug builds.


    virtual bool Enlighten::BaseWorker::IsUpdateLimited


    public: virtual bool IsUpdateLimited() const


    Are we at the limit of the number of allowed enqueued updates, and therefore the update rate is throttled?


    virtual bool Enlighten::IUpdateManagerWorker::IsUpdateLimited


    public: bool IsUpdateLimited() const


    Are we at the limit of the number of allowed enqueued updates, and therefore the update rate is throttled?


    virtual bool Enlighten::BaseWorker::IsWorkerThreadRunning


    public: bool IsWorkerThreadRunning()


    Returns true if a separate worker thread is currently running, false if not.


    virtual void Enlighten::IUpdateManagerWorker::ProbeSetManagerSetMaxWeightForProbeSet


    public: void ProbeSetManagerSetMaxWeightForProbeSet
    (
        Geo::GeoGuid const & probeSetGuid,
        float maxWeight
    )


    Set max interpolation weight for a given probe set.


    virtual void Enlighten::BaseWorker::ProbeSetManagerSetMaxWeightForProbeSet


    public: virtual void ProbeSetManagerSetMaxWeightForProbeSet
    (
        Geo::GeoGuid const & probeSetGuid,
        float maxWeight
    )


    Set max interpolation weight for a given probe set.


    void Enlighten::BaseWorker::PushMultipleObjectsToDestroy


    protected: void PushMultipleObjectsToDestroy
    (
        Geo::IGeoReleasable *const * objects,
        Geo::s32 count
    )


    Push a list of objects which has been removed from the worker on to a list to be destroyed by the rendering thread.

    This is required since the objects may contain graphics resources which can only be destroyed by the rendering thread.


    void Enlighten::BaseWorker::PushObjectToDestroy


    protected: void PushObjectToDestroy
    (
        Geo::IGeoReleasable * object
    )


    Push an object which has been removed from the worker on to a list to be destroyed by the rendering thread.

    This is required since the object may contain graphics resources which can only be destroyed by the rendering thread.


    virtual void Enlighten::IUpdateManagerWorker::ReadInputLightingBuffer


    public: void ReadInputLightingBuffer
    (
        ReadInputLightingBufferInfo const & parameters
    )


    These functions are provided for debugging/visualisation purposes.

    Read back the contents of an input lighting buffer.


    void Enlighten::BaseWorker::RecreateInterpolationInputList


    protected: void RecreateInterpolationInputList()


    Updates the probe interpolation inputs, if required.


    virtual void Enlighten::IUpdateManagerWorker::ReleaseSystemSolutionSpaces


    public: void ReleaseSystemSolutionSpaces
    (
        ReleaseSystemSolutionSpacesInfo const & releaseInfo
    )


    Release the solution spaces.


    virtual void Enlighten::BaseWorker::ReleaseSystemSolutionSpaces


    public: virtual void ReleaseSystemSolutionSpaces
    (
        ReleaseSystemSolutionSpacesInfo const & releaseInfo
    )


    Release system solution spaces.


    virtual void Enlighten::IUpdateManagerWorker::RemoveAllLights


    public: void RemoveAllLights()


    Remove all lights.


    virtual void Enlighten::BaseWorker::RemoveAllLights


    public: virtual void RemoveAllLights()


    Remove all lights.


    virtual void Enlighten::BaseWorker::RemoveCubeMap


    public: virtual void RemoveCubeMap
    (
        RemoveInfo const & removeInfo
    )


    Remove a cube map from the worker (either completely or partially)


    virtual void Enlighten::IUpdateManagerWorker::RemoveCubeMap


    public: void RemoveCubeMap
    (
        RemoveInfo const & removeInfo
    )


    Remove a cube map from the worker (either completely or partially)


    void Enlighten::BaseWorker::RemoveDirectionalLight


    protected: void RemoveDirectionalLight
    (
        Geo::GeoGuid lightId
    )


    Removes a light with the given GUID from the list of directional lights (if one is found), and frees the associated memory.


    virtual void Enlighten::BaseWorker::RemoveDynamicObject


    public: virtual void RemoveDynamicObject
    (
        RemoveInfo const & removeInfo
    )


    Remove a dynamic object from the worker.


    virtual void Enlighten::IUpdateManagerWorker::RemoveDynamicObject


    public: void RemoveDynamicObject
    (
        RemoveInfo const & removeInfo
    )


    Remove a dynamic object from the worker.


    virtual void Enlighten::BaseWorker::RemoveEmissiveEnvironment


    public: virtual void RemoveEmissiveEnvironment
    (
        Geo::GeoGuid const & environmentId
    )


    Remove the environment with the given id.


    virtual void Enlighten::IUpdateManagerWorker::RemoveEmissiveEnvironment


    public: void RemoveEmissiveEnvironment
    (
        Geo::GeoGuid const & environmentId
    )


    Remove the environment with the given id.


    virtual void Enlighten::BaseWorker::RemoveLight


    public: virtual void RemoveLight
    (
        Geo::GeoGuid const & lightId
    )


    Remove the light with the given id.


    virtual void Enlighten::IUpdateManagerWorker::RemoveLight


    public: void RemoveLight
    (
        Geo::GeoGuid const & lightId
    )


    Remove the light with the given id.


    virtual void Enlighten::BaseWorker::RemoveLightBank


    public: virtual void RemoveLightBank
    (
        Geo::s32 const & bankId
    )


    Remove a light bank.


    virtual void Enlighten::IUpdateManagerWorker::RemoveLightBank


    public: void RemoveLightBank
    (
        Geo::s32 const & bankId
    )


    Remove a light bank.


    void Enlighten::BaseWorker::RemoveLightWithoutVisibility


    protected: void RemoveLightWithoutVisibility
    (
        Geo::GeoGuid lightId
    )


    Removes a light with the given GUID from the list of lights without visibility (if one is found), and frees the associated memory.


    void Enlighten::BaseWorker::RemoveLightWithVisibility


    protected: void RemoveLightWithVisibility
    (
        Geo::GeoGuid lightId
    )


    Removes a light with the given GUID from the list of lights with visibility (if one is found), and frees the associated memory.


    virtual void Enlighten::IUpdateManagerWorker::RemoveProbeSet


    public: void RemoveProbeSet
    (
        RemoveInfo const & removeInfo
    )


    Remove a probe set from the worker (either completely or partially)


    virtual void Enlighten::BaseWorker::RemoveProbeSet


    public: virtual void RemoveProbeSet
    (
        RemoveInfo const & removeInfo
    )


    Remove a probe set from the worker (either completely or partially)


    virtual void Enlighten::BaseWorker::RemoveSystem


    public: virtual void RemoveSystem
    (
        RemoveInfo const & removeInfo
    )


    Remove a system from the worker (either completely or partially)


    virtual void Enlighten::IUpdateManagerWorker::RemoveSystem


    public: void RemoveSystem
    (
        RemoveInfo const & removeInfo
    )


    Remove a system from the worker (either completely or partially)


    virtual void Enlighten::BaseWorker::RemoveSystemSolutionSpaces


    public: virtual void RemoveSystemSolutionSpaces
    (
        Geo::GeoGuid const & systemId
    )


    Removes the solution spaces from the system. This function will not release the solution spaces.


    virtual void Enlighten::IUpdateManagerWorker::RemoveSystemSolutionSpaces


    public: void RemoveSystemSolutionSpaces
    (
        Geo::GeoGuid const & systemId
    )


    Removes the solution spaces from the system. This function will not release the solution spaces.


    void Enlighten::BaseWorker::ReRegisterObjectsWithProfiler


    public: void ReRegisterObjectsWithProfiler()


    Re-register all objects with the profiler.


    virtual void Enlighten::IUpdateManagerWorker::SetAllUpdateCounters


    public: void SetAllUpdateCounters
    (
        Geo::s32 const & count
    )


    Set all system and probe update counters to count.


    virtual void Enlighten::BaseWorker::SetAllUpdateCounters


    public: virtual void SetAllUpdateCounters
    (
        Geo::s32 const & count
    )


    Set all system and probe update counters to count.


    virtual void Enlighten::IUpdateManagerWorker::SetDoFullSolveNextFrame


    public: void SetDoFullSolveNextFrame()


    Disable temporal coherence so a full solve is performed next frame.


    virtual void Enlighten::BaseWorker::SetDoFullSolveNextFrame


    public: virtual void SetDoFullSolveNextFrame()


    Disable temporal coherence so a full solve is performed next frame.


    virtual void Enlighten::IUpdateManagerWorker::SetDoIndirectInputLightingNextFrame


    public: void SetDoIndirectInputLightingNextFrame
    (
        Geo::GeoGuid const & systemId
    )


    Sets a flag to run indirect input lighting on the next frame.


    virtual void Enlighten::BaseWorker::SetDoIndirectInputLightingNextFrame


    public: virtual void SetDoIndirectInputLightingNextFrame
    (
        Geo::GeoGuid const & systemId
    )


    Sets a flag to run indirect input lighting on the next frame.


    virtual void Enlighten::BaseWorker::SetLightBankUpdateCounter


    public: virtual void SetLightBankUpdateCounter
    (
        SetLightBankUpdateCounterInfo const & updateCounterInfo
    )


    Set a light bank update counter.


    virtual void Enlighten::IUpdateManagerWorker::SetLightBankUpdateCounter


    public: void SetLightBankUpdateCounter
    (
        SetLightBankUpdateCounterInfo const & updateCounterInfo
    )


    Set a light bank update counter.


    virtual void Enlighten::IUpdateManagerWorker::SetProbeSetManager


    public: void SetProbeSetManager
    (
        IProbeSetManager *const & probeSetManager
    )


    Set a probe set manager.


    virtual void Enlighten::BaseWorker::SetProbeSetManager


    public: virtual void SetProbeSetManager
    (
        IProbeSetManager *const & probeSetManager
    )


    Set a probe set manager.


    virtual void Enlighten::IUpdateManagerWorker::SetProbeSetTransform


    public: void SetProbeSetTransform
    (
        SetProbeSetTransformInfo const & probeSetTransformInfo
    )


    Set a probe set world-to-local-space transform.


    virtual void Enlighten::BaseWorker::SetProbeSetTransform


    public: virtual void SetProbeSetTransform
    (
        SetProbeSetTransformInfo const & probeSetTransformInfo
    )


    Set a probe set world-to-local-space transform.


    virtual void Enlighten::IUpdateManagerWorker::SetSystemSolutionSpaces


    public: void SetSystemSolutionSpaces
    (
        ISystemSolutionSpace *const * solutionSpaces,
        const Geo::s32 solutionSpacesCount,
        const Geo::s32 indexForBounceResampling
    )


    Set the solution spaces used by a system.

    Note that a system with a matching guid needs to already be added to the worker. This will only set the solution spaces if they all belong to the same system.

    Parameters
    solutionSpaces

    Raw array of ISystemSolutionSpace pointers

    solutionSpacesCount

    Number of elements in the solutionSpaces array.

    indexForBounceResampling

    The index for the solution space to use for bounce resampling. Should be the index of the solution space with the smallest output pixel size.


    virtual void Enlighten::BaseWorker::SetSystemSolutionSpaces


    public: virtual void SetSystemSolutionSpaces
    (
        ISystemSolutionSpace *const * solutionSpaces,
        const Geo::s32 solutionSpacesCount,
        const Geo::s32 indexForBounceResampling
    )


    Set the solution spaces used by a system.

    Note that a system with a matching guid needs to already be added to the worker. This will only set the solution spaces if they all belong to the same system.


    virtual void Enlighten::IUpdateManagerWorker::SetTransparencySamplePositionOffset


    public: void SetTransparencySamplePositionOffset
    (
        SetTransparencySamplePositionOffsetInfo const & offsetInfo
    )


    Sets the transparency sample position offset.


    virtual void Enlighten::BaseWorker::SetTransparencySamplePositionOffset


    public: virtual void SetTransparencySamplePositionOffset
    (
        SetTransparencySamplePositionOffsetInfo const & offsetInfo
    )


    Sets the transparency sample position offset.


    virtual void Enlighten::IUpdateManagerWorker::SetVisibilityBits


    public: void SetVisibilityBits
    (
        SetVisibilityBitsInfo const & visibilityBitsInfo
    )


    Sets the visibility block for a (system, light) pair.


    virtual void Enlighten::IUpdateManagerWorker::SetWorkerProperties


    public: void SetWorkerProperties
    (
        UpdateManagerWorkerProperties const & properties
    )


    Set the worker global state.


    void Enlighten::BaseWorker::SetWorkerProperties


    public: virtual void SetWorkerProperties
    (
        const UpdateManagerWorkerProperties & properties
    )


    Set the worker global state.


    virtual void Enlighten::BaseWorker::TriggerTransparencyVolume


    public: virtual void TriggerTransparencyVolume
    (
        const Enlighten::SphereVolume & volume
    )


    Triggers a transparency volume.


    virtual void Enlighten::IUpdateManagerWorker::TriggerTransparencyVolume


    public: void TriggerTransparencyVolume
    (
        const Enlighten::SphereVolume & volume
    )


    Triggers a transparency volume.


    virtual void Enlighten::BaseWorker::TriggerTransparencyVolume


    public: virtual void TriggerTransparencyVolume
    (
        const Enlighten::BoxVolume & volume
    )


    Triggers a transparency volume.


    virtual void Enlighten::IUpdateManagerWorker::TriggerTransparencyVolume


    public: void TriggerTransparencyVolume
    (
        const Enlighten::BoxVolume & volume
    )


    Triggers a transparency volume.


    virtual void Enlighten::IUpdateManagerWorker::UpdateEmissiveEnvironment


    public: void UpdateEmissiveEnvironment
    (
        UpdateEnvironmentInfo const & updateEnvironmentInfo
    )


    Update (or add) the environment with the given id.


    virtual void Enlighten::IUpdateManagerWorker::UpdateLight


    public: void UpdateLight
    (
        UpdateLightInfo const & updateLightInfo
    )


    Update (or add) the light with the given id.


    virtual void Enlighten::BaseWorker::UpdateLight


    public: virtual void UpdateLight
    (
        UpdateLightInfo const & updateLightInfo
    )


    Update (or add) the light with the given id.


    GEO_POP_IGNORE_DEPRECATION_WARNING void Enlighten::BaseWorker::UpdateRadiosity


    public: virtual void UpdateRadiosity()


    The main radiosity update function.


    virtual void Enlighten::IUpdateManagerWorker::UpdateRadiosity


    public: void UpdateRadiosity()


    The main radiosity update function.


    bool Enlighten::BaseWorker::WriteVisibilityPointers


    protected: bool WriteVisibilityPointers
    (
        void ** writeAt,
        BaseSystem * system,
        Geo::s32 lightBank
    )


    Write ordered list of visibility data pointers for the given system and light bank Returns TRUE if any of the light inputs have changed.

    , multiple selections available,
    {"serverDuration": 9, "requestCorrelationId": "0e8e47cf4fec45b3892a0566b0743756"}