Versions Compared

Key

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

class Enlighten::IPrecompInputProbeSet

    └>Geo::IGeoSerialisable
        └>Geo::IGeoReleasable

A class representing a set of sample points for which the run-time can generate spherical harmonic representations of the diffuse light incident on each sample point.

Functions

NameDescription
Create()

Create a new empty IPrecompInputProbeSet.

Create(const IPrecompInputProbeSet *const *, Geo::s32)

Create a new octree IPrecompInputProbeSet as a union of the specified octree probe set objects.

GetBoundingBoxBasisX()

Get the first basis vector of the non-axis aligned bounding box.

GetBoundingBoxBasisY()

Get the second basis vector of the non-axis aligned bounding box.

GetBoundingBoxBasisZ()

Get the third basis vector of the non-axis aligned bounding box.

GetBoundingBoxOrigin()

Get the origin of the non-axis aligned bounding box.

GetBuildParameters()

Edit the build parameters for this probe set.

GetBuildParameters()

Read only access to the build parameters for this probe set.

GetId()

Return the unique ID of this light probe set.

GetName()

Get the full name.

GetNumProbes()

Return the number of probes contained in this probe set.

GetProbePositions()

Access the light probe positions.

GetRegularGridResolutionX()

Get the resolution of the regular grid in the direction of the first bounding box basis vector.

GetRegularGridResolutionY()

Get the resolution of the regular grid in the direction of the second bounding box basis vector.

GetRegularGridResolutionZ()

Get the resolution of the regular grid in the direction of the third bounding box basis vector.

IsOctree()

Returns true if this probe set was generated for a probe octree.

IsRegularGrid()

Returns if this probe set is a probe grid.

Load(IGeoInputStream &, Geo::u32)

Load an instance of this class from an IGeoInputStream.

NonCopyable(NonCopyable &&)

Defaulted to allow move.

operator=(NonCopyable &&)

Defaulted to allow move.

Release()

Free this object that was created within the Enlighten libraries.

Save(IGeoStream &, Geo::u32)

Save an instance of this class to an IGeoStream.

SetId(Geo::GeoGuid)

Set the unique ID of this light probe set.

SetName(const char *)

Set a globally unique name.

SetProbePositions(const Geo::v128 &, const Geo::v128 &, const Geo::v128 &, const Geo::v128 &, const Geo::v128 *, const Geo::v128 *)

Copy light probe position values between [begin, end) into this object.

SetRandomProbePositions(const Geo::v128 &, const Geo::v128 &, const Geo::v128 &, const Geo::v128 &, const Geo::s32, const Geo::s32 &)

Create an random set of light probes within a non axis aligned bounding box.

SetRegularGridProbePositions(const Geo::v128 &, const Geo::v128 &, const Geo::v128 &, const Geo::v128 &, const Geo::s32, const Geo::s32, const Geo::s32)

Create light probes based on a regular grid.


Anchor
ad526be6bbd92b73e09de31fe352c2e6b
ad526be6bbd92b73e09de31fe352c2e6b

static IPrecompInputProbeSet* Enlighten::IPrecompInputProbeSet::Create

...

public: IPrecompInputProbeSet * Create()

...

Create a new empty IPrecompInputProbeSet.


Anchor
a213f94bdd67ae9e372292036ec2f1d86
a213f94bdd67ae9e372292036ec2f1d86

static IPrecompInputProbeSet* Enlighten::IPrecompInputProbeSet::Create

...

public: IPrecompInputProbeSet * Create
(
    const IPrecompInputProbeSet *const * others,
    Geo::s32 count
)

...

Create a new octree IPrecompInputProbeSet as a union of the specified octree probe set objects.

All probe sets must be coincident.


Anchor
a81952f52c6509d286926303e3f07f213
a81952f52c6509d286926303e3f07f213

virtual const Geo::v128& Enlighten::IPrecompInputProbeSet::GetBoundingBoxBasisX

...

public: const Geo::v128 & GetBoundingBoxBasisX() const

...

Get the first basis vector of the non-axis aligned bounding box.


Anchor
a8c1cd811bf5ca6c5d0f35271c02cb45a
a8c1cd811bf5ca6c5d0f35271c02cb45a

virtual const Geo::v128& Enlighten::IPrecompInputProbeSet::GetBoundingBoxBasisY

...

public: const Geo::v128 & GetBoundingBoxBasisY() const

...

Get the second basis vector of the non-axis aligned bounding box.


Anchor
acb5a26a063363161d0b07ceed21dd20f
acb5a26a063363161d0b07ceed21dd20f

virtual const Geo::v128& Enlighten::IPrecompInputProbeSet::GetBoundingBoxBasisZ

...

public: const Geo::v128 & GetBoundingBoxBasisZ() const

...

Get the third basis vector of the non-axis aligned bounding box.


Anchor
afa6ddf90efc3a4f85522d4c5566e306b
afa6ddf90efc3a4f85522d4c5566e306b

virtual const Geo::v128& Enlighten::IPrecompInputProbeSet::GetBoundingBoxOrigin

...

public: const Geo::v128 & GetBoundingBoxOrigin() const

...

Get the origin of the non-axis aligned bounding box.


Anchor
ab8de8f56f5ae5ac6af7b8f652b6aa281
ab8de8f56f5ae5ac6af7b8f652b6aa281

virtual IPrecompProbeSetBuildParameters* Enlighten::IPrecompInputProbeSet::GetBuildParameters

...

public: IPrecompProbeSetBuildParameters * GetBuildParameters()

...

Edit the build parameters for this probe set.


Anchor
af5b32bef2f2289acd24f30e9a23f25a7
af5b32bef2f2289acd24f30e9a23f25a7

virtual const IPrecompProbeSetBuildParameters* Enlighten::IPrecompInputProbeSet::GetBuildParameters

...

public: const IPrecompProbeSetBuildParameters * GetBuildParameters() const

...

Read only access to the build parameters for this probe set.


Anchor
a784e5beb06771e9f3415619bba95b2ae
a784e5beb06771e9f3415619bba95b2ae

virtual Geo::GeoGuid Enlighten::IPrecompInputProbeSet::GetId

...

public: Geo::GeoGuid GetId() const

...

Return the unique ID of this light probe set.


Anchor
a358802a0b685739009d4c0252ec02840
a358802a0b685739009d4c0252ec02840

virtual const char* Enlighten::IPrecompInputProbeSet::GetName

...

public: const char * GetName() const

...

Get the full name.


Anchor
a0e970c54a4a20bfdfa75335844376563
a0e970c54a4a20bfdfa75335844376563

virtual Geo::s32 Enlighten::IPrecompInputProbeSet::GetNumProbes

...

public: Geo::s32 GetNumProbes() const

...

Return the number of probes contained in this probe set.


Anchor
a921f8d8af286eabbc09e3ab859ca8a65
a921f8d8af286eabbc09e3ab859ca8a65

virtual const Geo::v128* Enlighten::IPrecompInputProbeSet::GetProbePositions

...

public: const Geo::v128 * GetProbePositions() const

...

Access the light probe positions.


Anchor
ae83fa934fbc64b6ace586b410fdc0950
ae83fa934fbc64b6ace586b410fdc0950

virtual Geo::s32 Enlighten::IPrecompInputProbeSet::GetRegularGridResolutionX

...

public: Geo::s32 GetRegularGridResolutionX() const

...

Get the resolution of the regular grid in the direction of the first bounding box basis vector.


Anchor
a4415a47f53094f949b58541273f3e195
a4415a47f53094f949b58541273f3e195

virtual Geo::s32 Enlighten::IPrecompInputProbeSet::GetRegularGridResolutionY

...

public: Geo::s32 GetRegularGridResolutionY() const

...

Get the resolution of the regular grid in the direction of the second bounding box basis vector.


Anchor
a187865d069eea7eea74c1195a2e6191d
a187865d069eea7eea74c1195a2e6191d

virtual Geo::s32 Enlighten::IPrecompInputProbeSet::GetRegularGridResolutionZ

...

public: Geo::s32 GetRegularGridResolutionZ() const

...

Get the resolution of the regular grid in the direction of the third bounding box basis vector.


Anchor
aaf023a75f4105f74d8cb0634808bb10f
aaf023a75f4105f74d8cb0634808bb10f

virtual bool Enlighten::IPrecompInputProbeSet::IsOctree

...

public: bool IsOctree() const

...

Returns true if this probe set was generated for a probe octree.


Anchor
a850b063e7151c41f1803352b9732b9db
a850b063e7151c41f1803352b9732b9db

virtual bool Enlighten::IPrecompInputProbeSet::IsRegularGrid

...

public: bool IsRegularGrid() const

...

Returns if this probe set is a probe grid.

This is only true if the probe positions form a single fully occupied regular grid and there are no duplicates or probe positions outside of the grid.


Anchor
ae5fb810c8f4470cb3c9fcb16c6f7f7fe
ae5fb810c8f4470cb3c9fcb16c6f7f7fe

virtual bool Geo::IGeoSerialisable::Load

...

public: bool Load
(
    IGeoInputStream & stream,
    Geo::u32 section
)

...

Load an instance of this class from an IGeoInputStream.

The stream must be ready to read from. You can load sections of an object by passing a bitmask representing the desired sections rather than Iff::AllSectionsMask, which will load all sections. It is also safe to call this method on an object multiple times with different section arguments to load multiple parts.


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

virtual bool Geo::IGeoSerialisable::Save

...

public: bool Save
(
    IGeoStream & stream,
    Geo::u32 section
) const

...

Save an instance of this class to an IGeoStream.

The stream must be ready to write to. You can save sections of an object by passing a bitmask representing the desired sections rather than Iff::AllSectionsMask, which will save all sections that are available.


Anchor
ac5c623aba2d4bacf63f947dd3c9819c1
ac5c623aba2d4bacf63f947dd3c9819c1

virtual void Enlighten::IPrecompInputProbeSet::SetId

...

public: void SetId
(
    Geo::GeoGuid id
)

...

Set the unique ID of this light probe set.


Anchor
ad249bc848bf2460e8aaf9f4c521f0022
ad249bc848bf2460e8aaf9f4c521f0022

virtual void Enlighten::IPrecompInputProbeSet::SetName

...

public: void SetName
(
    const char * name
)

...

Set a globally unique name.


Anchor
ac51d1dafda5e20dd1dde179f00944359
ac51d1dafda5e20dd1dde179f00944359

virtual bool Enlighten::IPrecompInputProbeSet::SetProbePositions

...

public: bool SetProbePositions
(
    const Geo::v128 & origin,
    const Geo::v128 & basisX,
    const Geo::v128 & basisY,
    const Geo::v128 & basisZ,
    const Geo::v128 * begin,
    const Geo::v128 * end
)

...

Copy light probe position values between [begin, end) into this object.

Previous positions are deleted. The bounding box is defined by a set of orthogonal basis vectors and their origin. The basis vectors are required to be orthogonal. The lengths of the basis vectors define the size of the bounding box.

Parameters
[in]origin

Origin of the basis vectors.

[in]basisX

First basis vector.

[in]basisY

Second basis vector.

[in]basisZ

third basis vector.

[in]begin

A pointer to the first element to be added

[in]end

A pointer to an element one past the last entity (as standard STL syntax)

Returns

True if the operation succeeded, false if there was not enough memory to satisfy the request or if the bounding box either has zero volume or its basis vectors are not orthogonal.


Anchor
abd4ba6a41fad48f34c317920896828fe
abd4ba6a41fad48f34c317920896828fe

virtual bool Enlighten::IPrecompInputProbeSet::SetRandomProbePositions

...

public: bool SetRandomProbePositions
(
    const Geo::v128 & origin,
    const Geo::v128 & basisX,
    const Geo::v128 & basisY,
    const Geo::v128 & basisZ,
    const Geo::s32 numProbes,
    const Geo::s32 & seed
)

...

Create an random set of light probes within a non axis aligned bounding box.

Previous positions are deleted. The bounding box is defined by a set of orthogonal basis vectors and their origin. The basis vectors are required to be orthogonal. The lengths of the basis vectors define the size of the bounding box. A defined number of probes in the range [1..65536] are placed randomly within the bounding box.

Parameters
[in]origin

Origin of the basis vectors.

[in]basisX

First basis vector.

[in]basisY

Second basis vector.

[in]basisZ

Third basis vector.

[in]numProbes

Number of probes placed in the bounding box.

[in]seed

A seed value to ensure consistency between invocations.

Returns

True if the operation succeeded, false if there was not enough memory to satisfy the request or if the bounding box either has zero volume or its basis vectors are not orthogonal.


Anchor
ab044ece91ef25a80256487ffbabbee4c
ab044ece91ef25a80256487ffbabbee4c

virtual bool Enlighten::IPrecompInputProbeSet::SetRegularGridProbePositions

...

public: bool SetRegularGridProbePositions
(
    const Geo::v128 & origin,
    const Geo::v128 & basisX,
    const Geo::v128 & basisY,
    const Geo::v128 & basisZ,
    const Geo::s32 resolutionX,
    const Geo::s32 resolutionY,
    const Geo::s32 resolutionZ
)

...

Create light probes based on a regular grid.

Previous positions are deleted. The regular grid is defined by a set of orthogonal basis vectors and their origin as well as the resolution in each basis vector direction. The basis vectors are required to be orthogonal and the resolution must be in the range [1..65536] otherwise this function will return false. The lengths of the basis vectors define the size of the regular grid. Based on the resolutions, the regular grid is split up into cells, and at the center of each cell a probe gets placed. This means that a regular grid with a resolution of 1 in each basis vector direction will have its single probe placed in the center of the grid and not

...

Parameters
[in]origin

Origin of the basis vectors.

[in]basisX

First basis vector.

[in]basisY

Second basis vector.

[in]basisZ

third basis vector.

[in]resolutionX

Number of probes in the direction of the first basis vector.

[in]resolutionY

Number of probes in the direction of the second basis vector.

[in]resolutionZ

Number of probes in the direction of the third basis vector.

Returns

True if the operation succeeded, false if there was not enough memory to satisfy the request or if the bounding box either has zero volume or its basis vectors are not orthogonal.