Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

class Enlighten::IUpdateManagerWorker

Interface of the update manager worker.

Apart from the Find functions, which are used by worker functions (commands), these are the functions which can be enqueued by the main update manager thread. Custom commands can also be enqueued and run on the worker thread - see Command.h for details.

Functions

NameDescription
AddCubeMap(BaseCubeMap *const &)

Add a cube map to the worker.

AddDynamicObject(BaseDynamicObject *const &)

Add a dynamic object 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.

ClearCubeMapVolumeTransparency(Geo::GeoGuid const &)

Clears the cube map 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.

CopyGeometryTransparencyBuffer(CopyTransparencyBufferInfo const &)

Allocate and make a copy of a geoemtry 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.

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.

ExcludesEnvironmentInPrimaryBounce()

Returns the value of the worker property m_ExcludeEnvrionmentInPrimaryBounce.

GetLightMethodSelector()

Gets the light method selector.

GetSizeOfProbeInputWorkspaceMemory()

Get the total size of probe set output workspaces.

GetSizeOfProbeOutputWorkspaceMemory()

Get the total size of probe set input workspaces.

GetSizeOfWorkingMemory()

Get the size of the working memory required for solving.

IsUpdateLimited()

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

ProbeSetManagerSetMaxWeightForProbeSet(Geo::GeoGuid const &, float)

Set max interpolation weight for a given probe set.

ReadInputLightingBuffer(ReadInputLightingBufferInfo const &)

These functions are provided for debugging/visualisation purposes.

ReleaseSystemSolutionSpaces(ReleaseSystemSolutionSpacesInfo const &)

Release the solution spaces.

RemoveAllLights()

Remove all lights.

RemoveCubeMap(RemoveInfo const &)

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

RemoveDynamicObject(RemoveInfo const &)

Remove a dynamic object from the worker.

RemoveEmissiveEnvironment(Geo::GeoGuid const &)

Remove the environment with the given id.

RemoveLight(Geo::GeoGuid const &)

Remove the light with the given id.

RemoveLightBank(Geo::s32 const &)

Remove a light bank.

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)

RemoveSystemSolutionSpaces(Geo::GeoGuid const &)

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

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.

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.

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.

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.

TriggerTransparencyVolume(const Enlighten::BoxVolume &)

Triggers a transparency volume.

TriggerTransparencyVolume(const Enlighten::SphereVolume &)

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.

UpdateRadiosity(const Geo::v128 &)

The main radiosity update function.


Anchor
aa34f7911df392f4f7f39fa85bdb8481d
aa34f7911df392f4f7f39fa85bdb8481d

virtual void Enlighten::IUpdateManagerWorker::AddCubeMap

...

public: void AddCubeMap
(
    BaseCubeMap *const & cubeMap
)

...

Add a cube map to the worker.


Anchor
a6b25fd33790bf3e91b4456305a9380ee
a6b25fd33790bf3e91b4456305a9380ee

virtual void Enlighten::IUpdateManagerWorker::AddDynamicObject

...

public: void AddDynamicObject
(
    BaseDynamicObject *const & dynamicObject
)

...

Add a dynamic object to the worker.


Anchor
ababf6903a07df3ec26c7c612a4f191e7
ababf6903a07df3ec26c7c612a4f191e7

virtual void Enlighten::IUpdateManagerWorker::AddProbeSet

...

public: void AddProbeSet
(
    BaseProbeSet *const & probeSet
)

...

Add a probe set to the worker.


Anchor
a1f4ba04e924e3c75bcb9490b137ce7d9
a1f4ba04e924e3c75bcb9490b137ce7d9

virtual void Enlighten::IUpdateManagerWorker::AddSystem

...

public: void AddSystem
(
    BaseSystem *const & system
)

...

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


Anchor
af9c96efef7d1e9892f0c6e461ddbd612
af9c96efef7d1e9892f0c6e461ddbd612

virtual void Enlighten::IUpdateManagerWorker::ClearCubeMapVolumeTransparency

...

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

...

Clears the cube map volume transparency.


Anchor
a814b039258fa2c968d3232abf08819df
a814b039258fa2c968d3232abf08819df

virtual void Enlighten::IUpdateManagerWorker::ClearSystemVolumeTransparency

...

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

...

Clears the system volume transparency.


Anchor
aa5c31f416c1b801962df076676277ad2
aa5c31f416c1b801962df076676277ad2

virtual void Enlighten::IUpdateManagerWorker::CopyAlbedoBuffer

...

public: void CopyAlbedoBuffer
(
    CopyAlbedoBufferInfo const & copyInfo
)

...

Allocate and make a copy of an albedo buffer.


Anchor
a11175ead34ad43733502338edff7892b
a11175ead34ad43733502338edff7892b

virtual void Enlighten::IUpdateManagerWorker::CopyBounceBuffer

...

public: void CopyBounceBuffer
(
    CopyBounceBufferInfo const & copyInfo
)

...

Allocate and make a copy of an emissive buffer.


Anchor
a00a19e776a68241e77bd73f6a0e3f48a
a00a19e776a68241e77bd73f6a0e3f48a

virtual void Enlighten::IUpdateManagerWorker::CopyEmissiveBuffer

...

public: void CopyEmissiveBuffer
(
    CopyEmissiveBufferInfo const & copyInfo
)

...

Allocate and make a copy of an emissive buffer.


Anchor
a82aeef0d54079c6c23ba62b2f90bfc80
a82aeef0d54079c6c23ba62b2f90bfc80

virtual void Enlighten::IUpdateManagerWorker::CopyEmissiveEnvironment

...

public: void CopyEmissiveEnvironment
(
    CopyEmissiveEnvironmentInfo const & copyEnvironmentInfo
)

...

Allocate and make a copy of an emissive environment.


Anchor
a0cb7c04ee6200dcba0acc2d781c66f12
a0cb7c04ee6200dcba0acc2d781c66f12

virtual void Enlighten::IUpdateManagerWorker::CopyGeometryTransparencyBuffer

...

public: void CopyGeometryTransparencyBuffer
(
    CopyTransparencyBufferInfo const & copyInfo
)

...

Allocate and make a copy of a geoemtry transparency buffer.


Anchor
aeb95b3b6f45bc72b98839470246039c7
aeb95b3b6f45bc72b98839470246039c7

virtual void Enlighten::IUpdateManagerWorker::CopyInputLightingBuffer

...

public: void CopyInputLightingBuffer
(
    CopyInputLightingBufferInfo const & copyInputLightingBufferInfo
)

...

Allocate and make a copy of an input lighting buffer.


Anchor
a33fd93dfb47e8cc1c875df4556230ddd
a33fd93dfb47e8cc1c875df4556230ddd

virtual void Enlighten::IUpdateManagerWorker::CopyMaterialTransparencyBuffer

...

public: void CopyMaterialTransparencyBuffer
(
    CopyTransparencyBufferInfo const & copyInfo
)

...

Allocate and make a copy of a material transparency buffer.


Anchor
adc09ae68c8f0915a5dc57ebe6a99a593
adc09ae68c8f0915a5dc57ebe6a99a593

virtual void Enlighten::IUpdateManagerWorker::CopyProbeOutput

...

public: void CopyProbeOutput
(
    CopyProbeOutputInfo const & copyProbeOutputInfo
)

...

Allocate and make a copy of Enlighten probe set output.


Anchor
a1081da4cdee7d46c78281776cbfe655e
a1081da4cdee7d46c78281776cbfe655e

virtual void Enlighten::IUpdateManagerWorker::CopyRawOutput

...

public: void CopyRawOutput
(
    CopyRawOutputInfo const & copyRawOutputInfo
)

...

Allocate and make a copy of raw Enlighten texture output.


Anchor
ae525723131a9a563e06f70132501619d
ae525723131a9a563e06f70132501619d

virtual void Enlighten::IUpdateManagerWorker::CopyVisibilityBuffer

...

public: void CopyVisibilityBuffer
(
    CopyVisibilityBufferInfo const & copyVisibilityBufferInfo
)

...

Allocate and make a copy of a visibility data block.


Anchor
aff1365a43901bbc901a705ff71e475ec
aff1365a43901bbc901a705ff71e475ec

virtual bool Enlighten::IUpdateManagerWorker::ExcludesEnvironmentInPrimaryBounce

...

public: bool ExcludesEnvironmentInPrimaryBounce() const

...

Returns the value of the worker property m_ExcludeEnvrionmentInPrimaryBounce.


Anchor
a178e10a1b2e0a2b6b7e9e4eb89c24583
a178e10a1b2e0a2b6b7e9e4eb89c24583

virtual LightMethodSelector* Enlighten::IUpdateManagerWorker::GetLightMethodSelector

...

public: LightMethodSelector * GetLightMethodSelector()

...

Gets the light method selector.


Anchor
a6a305027cf03efa4dad4a06ecc5d31a4
a6a305027cf03efa4dad4a06ecc5d31a4

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

...

public: Geo::u32 GetSizeOfProbeInputWorkspaceMemory() const

...

Get the total size of probe set output workspaces.


Anchor
adb3605007b7789a012d3684377f8007e
adb3605007b7789a012d3684377f8007e

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

...

public: Geo::u32 GetSizeOfProbeOutputWorkspaceMemory() const

...

Get the total size of probe set input workspaces.


Anchor
a527dca41ad692dc6858ac5dc98cfbcc6
a527dca41ad692dc6858ac5dc98cfbcc6

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

...

public: Geo::u32 GetSizeOfWorkingMemory() const

...

Get the size of the working memory required for solving.


Anchor
ada37b37b048e65394cea72bf6e2f1d7f
ada37b37b048e65394cea72bf6e2f1d7f

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?


Anchor
a338f0b0592a0b88c649980ee66303c74
a338f0b0592a0b88c649980ee66303c74

virtual void Enlighten::IUpdateManagerWorker::ProbeSetManagerSetMaxWeightForProbeSet

...

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

...

Set max interpolation weight for a given probe set.


Anchor
a728c1844f669f4b6bc1090220ee425f7
a728c1844f669f4b6bc1090220ee425f7

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.


Anchor
ab3eb0e09be6b9c84e8cdc9058c9e28ba
ab3eb0e09be6b9c84e8cdc9058c9e28ba

virtual void Enlighten::IUpdateManagerWorker::ReleaseSystemSolutionSpaces

...

public: void ReleaseSystemSolutionSpaces
(
    ReleaseSystemSolutionSpacesInfo const & releaseInfo
)

...

Release the solution spaces.


Anchor
aafab7f63cb6e18b54be7bb1c16d6b055
aafab7f63cb6e18b54be7bb1c16d6b055

virtual void Enlighten::IUpdateManagerWorker::RemoveAllLights

...

public: void RemoveAllLights()

...

Remove all lights.


Anchor
a044a309da73d4cf7cacccb50f11a8fa5
a044a309da73d4cf7cacccb50f11a8fa5

virtual void Enlighten::IUpdateManagerWorker::RemoveCubeMap

...

public: void RemoveCubeMap
(
    RemoveInfo const & removeInfo
)

...

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


Anchor
ab3e91667387b16912fc7b1dd8a5ea595
ab3e91667387b16912fc7b1dd8a5ea595

virtual void Enlighten::IUpdateManagerWorker::RemoveDynamicObject

...

public: void RemoveDynamicObject
(
    RemoveInfo const & removeInfo
)

...

Remove a dynamic object from the worker.


Anchor
ab2440a8864790d4a9722032ba0a39880
ab2440a8864790d4a9722032ba0a39880

virtual void Enlighten::IUpdateManagerWorker::RemoveEmissiveEnvironment

...

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

...

Remove the environment with the given id.


Anchor
a0cae2f260ec8f8ef33894a4e33ea5904
a0cae2f260ec8f8ef33894a4e33ea5904

virtual void Enlighten::IUpdateManagerWorker::RemoveLight

...

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

...

Remove the light with the given id.


Anchor
a8cbd024d4008e38e20c1901d35938de8
a8cbd024d4008e38e20c1901d35938de8

virtual void Enlighten::IUpdateManagerWorker::RemoveLightBank

...

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

...

Remove a light bank.


Anchor
abadc89cbb24796289997ef5d0b55b1c2
abadc89cbb24796289997ef5d0b55b1c2

virtual void Enlighten::IUpdateManagerWorker::RemoveProbeSet

...

public: void RemoveProbeSet
(
    RemoveInfo const & removeInfo
)

...

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


Anchor
a7d6234af960037d1611fdc04033befd6
a7d6234af960037d1611fdc04033befd6

virtual void Enlighten::IUpdateManagerWorker::RemoveSystem

...

public: void RemoveSystem
(
    RemoveInfo const & removeInfo
)

...

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


Anchor
a8506b557e9d18d0c96853aa091e6abdd
a8506b557e9d18d0c96853aa091e6abdd

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.


Anchor
a06622d152ac8c7c61266422cd6b31416
a06622d152ac8c7c61266422cd6b31416

virtual void Enlighten::IUpdateManagerWorker::SetAllUpdateCounters

...

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

...

Set all system and probe update counters to count.


Anchor
abd49cca9aef6b5d0ea2a2ee29dccb462
abd49cca9aef6b5d0ea2a2ee29dccb462

virtual void Enlighten::IUpdateManagerWorker::SetDoFullSolveNextFrame

...

public: void SetDoFullSolveNextFrame()

...

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


Anchor
a932dcefa56cefd011042fd6fff642435
a932dcefa56cefd011042fd6fff642435

virtual void Enlighten::IUpdateManagerWorker::SetDoIndirectInputLightingNextFrame

...

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

...

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


Anchor
a39809d3401e9d95f90f7fe8907ab503a
a39809d3401e9d95f90f7fe8907ab503a

virtual void Enlighten::IUpdateManagerWorker::SetLightBankUpdateCounter

...

public: void SetLightBankUpdateCounter
(
    SetLightBankUpdateCounterInfo const & updateCounterInfo
)

...

Set a light bank update counter.


Anchor
a9ab9b34a4a485f2e50ddb3bf243f91ec
a9ab9b34a4a485f2e50ddb3bf243f91ec

virtual void Enlighten::IUpdateManagerWorker::SetProbeSetTransform

...

public: void SetProbeSetTransform
(
    SetProbeSetTransformInfo const & probeSetTransformInfo
)

...

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


Anchor
a52b165dc40049c265a6bae7f4ef7f2cf
a52b165dc40049c265a6bae7f4ef7f2cf

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.


Anchor
ae4181e52b5562e10a29c389e01067da1
ae4181e52b5562e10a29c389e01067da1

virtual void Enlighten::IUpdateManagerWorker::SetTransparencySamplePositionOffset

...

public: void SetTransparencySamplePositionOffset
(
    SetTransparencySamplePositionOffsetInfo const & offsetInfo
)

...

Sets the transparency sample position offset.


Anchor
a78afb3d77a60f90c09a08763690c1695
a78afb3d77a60f90c09a08763690c1695

virtual void Enlighten::IUpdateManagerWorker::SetVisibilityBits

...

public: void SetVisibilityBits
(
    SetVisibilityBitsInfo const & visibilityBitsInfo
)

...

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


Anchor
a8a5d46efb2efa8030b08324d2aaa0099
a8a5d46efb2efa8030b08324d2aaa0099

virtual void Enlighten::IUpdateManagerWorker::SetWorkerProperties

...

public: void SetWorkerProperties
(
    UpdateManagerWorkerProperties const & properties
)

...

Set the worker global state.


Anchor
a6f5c6c96c631f9104e4ceb1849f2663a
a6f5c6c96c631f9104e4ceb1849f2663a

virtual void Enlighten::IUpdateManagerWorker::TriggerTransparencyVolume

...

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

...

Triggers a transparency volume.


Anchor
a10320c882f317e2f2ac4632ff55b1633
a10320c882f317e2f2ac4632ff55b1633

virtual void Enlighten::IUpdateManagerWorker::TriggerTransparencyVolume

...

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

...

Triggers a transparency volume.


Anchor
a76cc66c7a110a0bee0ebe2c82f8381f5
a76cc66c7a110a0bee0ebe2c82f8381f5

virtual void Enlighten::IUpdateManagerWorker::UpdateEmissiveEnvironment

...

public: void UpdateEmissiveEnvironment
(
    UpdateEnvironmentInfo const & updateEnvironmentInfo
)

...

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


Anchor
a93cf5af94534db3ddc03bc1d3837539b
a93cf5af94534db3ddc03bc1d3837539b

virtual void Enlighten::IUpdateManagerWorker::UpdateLight

...

public: void UpdateLight
(
    UpdateLightInfo const & updateLightInfo
)

...

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


Anchor
ab3e7a50c8655c3869346d73b766ad542
ab3e7a50c8655c3869346d73b766ad542

virtual void Enlighten::IUpdateManagerWorker::UpdateRadiosity

...

public: void UpdateRadiosity
(
    const Geo::v128 & viewOrigin
)

...

The main radiosity update function.