Versions Compared

Key

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

class Enlighten::CpuSystemSolutionSpace

    └>Enlighten::BaseSystemSolutionSpace
        └>Enlighten::ISystemSolutionSpace
            └>Geo::IGeoReleasable

System solution space for the CPU solver.

Variables

NameDescription
void * m_EnvBouncePersistentDataBuffer

Persistent data between environment Bounce solves.

bool m_IsReadyForRendering

Has the output been solved at least once and is ready for rendering.

void * m_PersistentDataBuffer

Bounce data to feed to the input lighting next frame.

Functions

NameDescription
AllocatePersistentSolverData(bool)

Allocate the buffers for persistent data (bounce, temporal coherence)

AnyTextureUpdatesPending()

Returns true if the system is static.

BaseSystemSolutionSpace(const Enlighten::RadSystemCore *, IGpuTexture *, eOutputFormat)

Constructor.

CacheSystemOutputInfo()

Function to cache the pointers and strides for output textures.

CpuSystemSolutionSpace(const Enlighten::RadSystemCore *, IGpuTexture *, SolveType, eOutputFormat)

Constructor.

DisableUpdatesAndFreeMemory()

Disable Updates and Free memory.

DisableUpdatesAndFreeMemory()

Disable Updates and Free memory.

ForgetTextureUpdates()

Clear the flags indicating that texture updates are pending.

GetDeviceTextureFormat(OutputTextureType, eOutputFormat)

Helper function to convert the Enlighten format specifier to a device-specific format.

GetDirectionalOutputStride()

Returns the row stride of the directional output cpu data.

GetDoFullSolutionSolveNextFrame()

Gets/sets a flag which determines if we should do a full solve next frame.

GetEnvBouncePersistentSolverData()

Gets the env persistent data (bounce, temporal coherence).

GetIrradianceOutputFormat()

Get the output format if the irradiance texture.

GetIrradianceOutputStride()

Returns the row stride of the irradiance output cpu data.

GetOutputPitchInBytes(OutputTextureType)

Returns the pitch that Enlighten should use when writing the output buffer (texture)

GetOutputPointer(OutputTextureType)

Returns the memory location where Enlighten should write the output data.

GetOutputTexture(OutputTextureType, bool)

Get the output textures.

GetOutputTexture(OutputTextureType, bool)

Get the output texture from the solution space. Useful when you use IGpuTextureAllocator to allocate the textures.

GetPersistentSolverData()

Gets the persistent data (bounce, temporal coherence).

GetRadiosityCore()

Get the RadSystemCore object which this solution space represents.

GetRadiosityCore()

Get the immutable Radiosity System core.

GetStale()

Gets/sets a flag which when true indicates that a solution space should have been solved but was not for some reason (e.g.

HasEnvironmentOnlyBounceData()

Determine if the environment only bounce data is present. Requires excludeEnvironmentInPrimaryBounce="true" in paramset.

IsReadyForRendering(OutputTextureType)

Returns true if the texture has been solved at least once and is ready for rendering.

IsReadyForRendering(OutputTextureType)

Returns true if the texture has been solved at least once and is ready for rendering.

MarkUpdate(Geo::u32)

Mark a particular texture as having been updated on the worker thread. The render thread will update these textures when UpdateGpuTextures() is called.

MarkUpdate(Geo::u32)

Sets or clears the update status flag of the given output texture.

NonCopyable(NonCopyable &&)

Defaulted to allow move.

operator=(NonCopyable &&)

Defaulted to allow move.

Release()

Free this object that was created within the Enlighten libraries.

Release()

Release the resources which are owned by this object.

ReleaseOwnResources()

Releases owned resources.

ReleaseOwnResources()

Releases owned resources.

SetDoFullSolutionSolveNextFrame(bool)

Gets/sets a flag which determines if we should do a full solve next frame.

SetGpuTexture(OutputTextureType, IGpuTexture *)

Set the GPU textures on SystemSolutionSpace objects. This should be called via the command processor.

SetIsReadyForRendering(bool)

Set is ready for rendering textures flag.

SetStale(bool)

Gets/sets a flag which when true indicates that a solution space should have been solved but was not for some reason (e.g.

UpdateGpuTextures()

Update the Gpu textures. This should be called on the render thread.

UpdateGpuTextures()

Update the Gpu textures. This should be called on the render thread. Returns true if any work was done.


Anchor
a8cecb1568b85ada8f1bff7020db5be9f
a8cecb1568b85ada8f1bff7020db5be9f

virtual void Enlighten::CpuSystemSolutionSpace::AllocatePersistentSolverData

...

public: virtual void AllocatePersistentSolverData
(
    bool allocateEnvironmentBounceBuffer
)

...

Allocate the buffers for persistent data (bounce, temporal coherence)


Anchor
a7cad61bc03c1efa990350629a39e17fb
a7cad61bc03c1efa990350629a39e17fb

virtual bool Enlighten::CpuSystemSolutionSpace::AnyTextureUpdatesPending

...

public: virtual bool AnyTextureUpdatesPending() const

...

Returns true if the system is static.


Anchor
a72dfb72b24613c636d2ecbf8d8be8395
a72dfb72b24613c636d2ecbf8d8be8395

Enlighten::BaseSystemSolutionSpace::BaseSystemSolutionSpace

...

protected: BaseSystemSolutionSpace
(
    const Enlighten::RadSystemCore * core,
    IGpuTexture * outputTextures,
    eOutputFormat irradianceTextureFormat
)

...

Constructor.


Anchor
adc45de9a3dc3f9ba6759f84a0eae1da5
adc45de9a3dc3f9ba6759f84a0eae1da5

virtual void Enlighten::BaseSystemSolutionSpace::CacheSystemOutputInfo

...

protected: virtual void CacheSystemOutputInfo()

...

Function to cache the pointers and strides for output textures.


Anchor
a15c70eedd44f2df193c5fcf73f98c3b0
a15c70eedd44f2df193c5fcf73f98c3b0

Enlighten::CpuSystemSolutionSpace::CpuSystemSolutionSpace

...

protected: CpuSystemSolutionSpace
(
    const Enlighten::RadSystemCore * core,
    IGpuTexture * outputTextures,
    SolveType solveType,
    eOutputFormat irradianceTextureFormat
)

...

Constructor.


Anchor
a72f8d3a79ecd9469ccd87e96c87fd649
a72f8d3a79ecd9469ccd87e96c87fd649

virtual void Enlighten::CpuSystemSolutionSpace::DisableUpdatesAndFreeMemory

...

public: virtual void DisableUpdatesAndFreeMemory()

...

Disable Updates and Free memory.


Anchor
ac3d018a6f608848e092309ff7c87be6c
ac3d018a6f608848e092309ff7c87be6c

virtual void Enlighten::BaseSystemSolutionSpace::DisableUpdatesAndFreeMemory

...

public: virtual void DisableUpdatesAndFreeMemory()

...

Disable Updates and Free memory.


Anchor
aba1c87857091c86fd409b91b84555d83
aba1c87857091c86fd409b91b84555d83

virtual void Enlighten::CpuSystemSolutionSpace::ForgetTextureUpdates

...

public: virtual void ForgetTextureUpdates()

...

Clear the flags indicating that texture updates are pending.


Anchor
a1bdd0378fc4d8c77050b2137bccfa513
a1bdd0378fc4d8c77050b2137bccfa513

static TextureFormat Enlighten::BaseSystemSolutionSpace::GetDeviceTextureFormat

...

public: TextureFormat GetDeviceTextureFormat
(
    OutputTextureType type,
    eOutputFormat irradianceOutputFormat
)

...

Helper function to convert the Enlighten format specifier to a device-specific format.


Anchor
a081f5c81b28f82c35786c7f8b1a109ba
a081f5c81b28f82c35786c7f8b1a109ba

Geo::s32 Enlighten::BaseSystemSolutionSpace::GetDirectionalOutputStride

...

public: Geo::s32 GetDirectionalOutputStride() const

...

Returns the row stride of the directional output cpu data.


Anchor
a616ca6dd92fd66dd8346a2036d0b5b44
a616ca6dd92fd66dd8346a2036d0b5b44

bool Enlighten::BaseSystemSolutionSpace::GetDoFullSolutionSolveNextFrame

...

public: bool GetDoFullSolutionSolveNextFrame() const

...

Gets/sets a flag which determines if we should do a full solve next frame.


Anchor
a7b6b545c0c7b82e317e1fc3566153cd6
a7b6b545c0c7b82e317e1fc3566153cd6

void* Enlighten::CpuSystemSolutionSpace::GetEnvBouncePersistentSolverData

...

public: void * GetEnvBouncePersistentSolverData()

...

Gets the env persistent data (bounce, temporal coherence).


Anchor
a143a24470eb7402a3b4c97687a143b3f
a143a24470eb7402a3b4c97687a143b3f

eOutputFormat Enlighten::BaseSystemSolutionSpace::GetIrradianceOutputFormat

...

public: eOutputFormat GetIrradianceOutputFormat() const

...

Get the output format if the irradiance texture.


Anchor
a9c9ef7e214cb5b0c2cc6b6d872175565
a9c9ef7e214cb5b0c2cc6b6d872175565

Geo::s32 Enlighten::BaseSystemSolutionSpace::GetIrradianceOutputStride

...

public: Geo::s32 GetIrradianceOutputStride() const

...

Returns the row stride of the irradiance output cpu data.


Anchor
ad8960499c2f10e34869eb8bc01f0d453
ad8960499c2f10e34869eb8bc01f0d453

virtual Geo::s32 Enlighten::BaseSystemSolutionSpace::GetOutputPitchInBytes

...

public: virtual Geo::s32 GetOutputPitchInBytes
(
    OutputTextureType textureType
)

...

Returns the pitch that Enlighten should use when writing the output buffer (texture)


Anchor
a20bc135e54b459b8cb1abe38f944a82c
a20bc135e54b459b8cb1abe38f944a82c

virtual void* Enlighten::BaseSystemSolutionSpace::GetOutputPointer

...

public: virtual void * GetOutputPointer
(
    OutputTextureType textureType
)

...

Returns the memory location where Enlighten should write the output data.


Anchor
a8b3320a46430890e2bdcd702ab97b855
a8b3320a46430890e2bdcd702ab97b855

virtual IGpuTexture* Enlighten::BaseSystemSolutionSpace::GetOutputTexture

...

public: virtual IGpuTexture * GetOutputTexture
(
    OutputTextureType textureType,
    bool forceGet
) const

...

Get the output textures.


Anchor
a1181523e807722f2b1c6b18d3d5aad56
a1181523e807722f2b1c6b18d3d5aad56

virtual IGpuTexture* Enlighten::ISystemSolutionSpace::GetOutputTexture

...

public: IGpuTexture * GetOutputTexture
(
    OutputTextureType textureType,
    bool forceGet
) const

...

Get the output texture from the solution space. Useful when you use IGpuTextureAllocator to allocate the textures.


Anchor
ad2687aafb3009ec27bf3fc0cb474b1f9
ad2687aafb3009ec27bf3fc0cb474b1f9

void* Enlighten::CpuSystemSolutionSpace::GetPersistentSolverData

...

public: void * GetPersistentSolverData()

...

Gets the persistent data (bounce, temporal coherence).


Anchor
a5dcbda05093f1674f52b17c7de8c81f2
a5dcbda05093f1674f52b17c7de8c81f2

virtual const RadSystemCore* Enlighten::ISystemSolutionSpace::GetRadiosityCore

...

public: const RadSystemCore * GetRadiosityCore() const

...

Get the RadSystemCore object which this solution space represents.


Anchor
a6319893e2b831352ee9fce0b3415b4f4
a6319893e2b831352ee9fce0b3415b4f4

virtual const RadSystemCore* Enlighten::BaseSystemSolutionSpace::GetRadiosityCore

...

public: virtual const RadSystemCore * GetRadiosityCore() const

...

Get the immutable Radiosity System core.


Anchor
a91a13fd76c57212e026c82382d62d9a4
a91a13fd76c57212e026c82382d62d9a4

bool Enlighten::BaseSystemSolutionSpace::GetStale

...

public: bool GetStale() const

...

Gets/sets a flag which when true indicates that a solution space should have been solved but was not for some reason (e.g.

update rate), and thus a solve must happen eventually in the future.


Anchor
a9ba5db0fcdd171c8f5e5d72fb0e4389d
a9ba5db0fcdd171c8f5e5d72fb0e4389d

bool Enlighten::BaseSystemSolutionSpace::HasEnvironmentOnlyBounceData

...

public: bool HasEnvironmentOnlyBounceData()

...

Determine if the environment only bounce data is present. Requires excludeEnvironmentInPrimaryBounce="true" in paramset.


Anchor
a0f8fba41aa1fbc8cdadf535bdd31502b
a0f8fba41aa1fbc8cdadf535bdd31502b

virtual bool Enlighten::BaseSystemSolutionSpace::IsReadyForRendering

...

public: virtual bool IsReadyForRendering
(
    OutputTextureType textureType
) const

...

Returns true if the texture has been solved at least once and is ready for rendering.


Anchor
a75dcb75f2c03533015af37771a937bf2
a75dcb75f2c03533015af37771a937bf2

virtual bool Enlighten::ISystemSolutionSpace::IsReadyForRendering

...

public: bool IsReadyForRendering
(
    OutputTextureType textureType
) const

...

Returns true if the texture has been solved at least once and is ready for rendering.


Anchor
a88da953d9f1c9de3614cae95bd9154bd
a88da953d9f1c9de3614cae95bd9154bd

virtual void Enlighten::CpuSystemSolutionSpace::MarkUpdate

...

public: virtual void MarkUpdate
(
    Geo::u32 value
)

...

Mark a particular texture as having been updated on the worker thread. The render thread will update these textures when UpdateGpuTextures() is called.


Anchor
a7efdb2e14cc22cd72b6e95665fcd9e0d
a7efdb2e14cc22cd72b6e95665fcd9e0d

virtual void Enlighten::BaseSystemSolutionSpace::MarkUpdate

...

public: void MarkUpdate
(
    Geo::u32 value
)

...

Sets or clears the update status flag of the given output texture.

TRUE means that the internal solution for that texture has finished, but the GPU resource has not yet been updated.


Anchor
adaed81b4c59f263dcb4e78c4126f4683
adaed81b4c59f263dcb4e78c4126f4683

Geo::NonCopyable::NonCopyable

...

public: NonCopyable
(
    NonCopyable &&
)

...

Defaulted to allow move.


Anchor
a6abc781e23b8f4864e0b868806e0acbf
a6abc781e23b8f4864e0b868806e0acbf

NonCopyable& Geo::NonCopyable::operator=

...

public: NonCopyable & operator=
(
    NonCopyable &&
)

...

Defaulted to allow move.


Anchor
af6bdf30b42adde386c428e9dc2821eb9
af6bdf30b42adde386c428e9dc2821eb9

virtual void Geo::IGeoReleasable::Release

...

public: void Release()

...

Free this object that was created within the Enlighten libraries.

Expect this to behave in a similar way to calling 'delete(this)'


Anchor
a3ca395d97798e96eafabcb6e3628c4e3
a3ca395d97798e96eafabcb6e3628c4e3

virtual void Enlighten::BaseSystemSolutionSpace::Release

...

public: virtual void Release()

...

Release the resources which are owned by this object.


Anchor
a5c2d2de732a61f1bf2d0184fbc28c0ea
a5c2d2de732a61f1bf2d0184fbc28c0ea

void Enlighten::CpuSystemSolutionSpace::ReleaseOwnResources

...

protected: void ReleaseOwnResources()

...

Releases owned resources.


Anchor
a5d3e22dda8867412b3578a20211ec671
a5d3e22dda8867412b3578a20211ec671

void Enlighten::BaseSystemSolutionSpace::ReleaseOwnResources

...

protected: void ReleaseOwnResources()

...

Releases owned resources.


Anchor
a128e874324adf390e1f674089558a185
a128e874324adf390e1f674089558a185

void Enlighten::BaseSystemSolutionSpace::SetDoFullSolutionSolveNextFrame

...

public: void SetDoFullSolutionSolveNextFrame
(
    bool value
)

...

Gets/sets a flag which determines if we should do a full solve next frame.


Anchor
a7e57ca07452f3df55d8d6eb130b7aaff
a7e57ca07452f3df55d8d6eb130b7aaff

virtual void Enlighten::BaseSystemSolutionSpace::SetGpuTexture

...

public: virtual void SetGpuTexture
(
    OutputTextureType textureType,
    IGpuTexture * gpuTexture
)

...

Set the GPU textures on SystemSolutionSpace objects. This should be called via the command processor.


Anchor
a635d7c661244850ef5a4030499983b44
a635d7c661244850ef5a4030499983b44

void Enlighten::BaseSystemSolutionSpace::SetIsReadyForRendering

...

public: void SetIsReadyForRendering
(
    bool value
)

...

Set is ready for rendering textures flag.


Anchor
a4f08a9522f5264d5cb569775c0703132
a4f08a9522f5264d5cb569775c0703132

void Enlighten::BaseSystemSolutionSpace::SetStale

...

public: void SetStale
(
    bool value
)

...

Gets/sets a flag which when true indicates that a solution space should have been solved but was not for some reason (e.g.

update rate), and thus a solve must happen eventually in the future.


Anchor
af1ccaaa7dccdefac1c79a40a0d3cb26f
af1ccaaa7dccdefac1c79a40a0d3cb26f

virtual bool Enlighten::CpuSystemSolutionSpace::UpdateGpuTextures

...

public: virtual bool UpdateGpuTextures()

...

Update the Gpu textures. This should be called on the render thread.


Anchor
aabd763c982f408d57e8079ed53fc8243
aabd763c982f408d57e8079ed53fc8243

virtual bool Enlighten::BaseSystemSolutionSpace::UpdateGpuTextures

...

public: bool UpdateGpuTextures()

...

Update the Gpu textures. This should be called on the render thread. Returns true if any work was done.