Versions Compared

Key

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

class Enlighten::BaseSystemSolutionSpace

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

Base implementation of ISystemSolutionSpace.

Functions

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

Constructor.

CacheSystemOutputInfo()

Function to cache the pointers and strides for output textures.

DisableUpdatesAndFreeMemory()

Disable Updates and Free memory.

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.

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.

GetRadiosityCore()

Get the immutable Radiosity System core.

GetRadiosityCore()

Get the RadSystemCore object which this solution space represents.

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)

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()

Release the resources which are owned by this object.

Release()

Free this object that was created within the Enlighten libraries.

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. Returns true if any work was done.

Variables

NameDescription
bool m_IsReadyForRendering

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


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
ac3d018a6f608848e092309ff7c87be6c
ac3d018a6f608848e092309ff7c87be6c

virtual void Enlighten::BaseSystemSolutionSpace::DisableUpdatesAndFreeMemory

...

public: virtual void DisableUpdatesAndFreeMemory()

...

Disable Updates and Free memory.


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
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
a6319893e2b831352ee9fce0b3415b4f4
a6319893e2b831352ee9fce0b3415b4f4

virtual const RadSystemCore* Enlighten::BaseSystemSolutionSpace::GetRadiosityCore

...

public: virtual const RadSystemCore * GetRadiosityCore() const

...

Get the immutable Radiosity System core.


Anchor
a5dcbda05093f1674f52b17c7de8c81f2
a5dcbda05093f1674f52b17c7de8c81f2

virtual const RadSystemCore* Enlighten::ISystemSolutionSpace::GetRadiosityCore

...

public: const RadSystemCore * GetRadiosityCore() const

...

Get the RadSystemCore object which this solution space represents.


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
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
a3ca395d97798e96eafabcb6e3628c4e3
a3ca395d97798e96eafabcb6e3628c4e3

virtual void Enlighten::BaseSystemSolutionSpace::Release

...

public: virtual void Release()

...

Release the resources which are owned by this object.


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