Versions Compared

Key

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

A collection of debugging utility classes to help unpick problems in the API and the lighting.

Classes

NameDescription
Enlighten::ClusterRange

The ClusterRange describes a range of leaf clusters that belong to a certain cluster in the tree.

Enlighten::GeoClusterNode

Debugging output representation of a value in the clustering metric.

Enlighten::GeoClusterNodeForest

Debugging output representation of a set of clustering metric hierarchies.

Enlighten::GeoClusterNodeTree

Debugging output representation of a hierarchy of clustering metrics.

Enlighten::GeoDirectionalPoint

Debugging output representation of a point with a normal.

Enlighten::GeoRayOrigin

Debugging output representation of a ray origin.

Enlighten::IClusteringOutput

An interface for diagnosing the quality and any issues with the clustering process in EnlightenPrecomp2.

Enlighten::ILightTransportOutput

An interface for diagnosing the quality and any issues with the light transport process in EnlightenPrecomp2.

Enlighten::IMeshSimpOutput

An interface for diagnosing the quality and any issues with the mesh simplification process in EnlightenPrecomp2.

Enlighten::IrradianceOutputDesc

Irradiance and directional irradiance output capture.

Enlighten::LightTransportPixel

Debugging output representation of an output pixel.

Enlighten::ProbeBucketPattern

The bit-packed probe group data structure class.

Enlighten::RadDebugBucketSelectionTask

Structure describing an internal debugging task to colour output pixels according to debug data.

Enlighten::RadDebugColouringTask

Structure describing a task to colour output pixels according to debug data.

Enlighten::RadDebugPixelInfo

Extended information about a pixel in the Enlighten output for internal debugging purposes.

Functions

NameDescription
CompareIrradianceOutputBuffers(Geo::Statistics &, Geo::Statistics &, const Enlighten::IrradianceOutputDesc &, const Enlighten::IrradianceOutputDesc &)

Compares a pair of Enlighten irradiance outputs.

DoDebugColouring(const Enlighten::RadDebugColouringTask *)

Write debugging colours to an output texture.

FindDebugClusterInfo(RadDebugPixelInfo *, Geo::s32, const RadSystemCore *)

Fill in a RadDebugPixelInfo for a specified leaf cluster index (for internal debugging purposes).

FindDebugPixelInfo(RadDebugPixelInfo *, float, float, const RadSystemCore *, const ILightTransportOutput *)

Fill in a RadDebugPixelInfo for a specified UV coordinate (for internal debugging purposes).

GetProbeBucketPatternArray(const RadProbeSetCore *)

Return an array of bucket pattern codes, with one entry for each solved probe.

IsValid(const RadSystemCore *, const char *)

Function that tests if the data object provided is valid (pointer checks, metadata, etc).

IsValid(const RadProbeSetCore *, Geo::u32, const char *)

Function that tests if the data object provided is valid (pointer checks, metadata, etc).

IsValid(const RadProbeSetCore *, const char *)

Function that tests if the data object provided is valid (pointer checks, metadata, etc).

IsValid(const RadCubeMapCore *, const char *)

Function that tests if the data object provided is valid (pointer checks, metadata, etc).

IsValid(const InputWorkspace *, const char *, bool)

Function that tests if the data object provided is valid (pointer checks, metadata, etc).

IsValid(const ClusterAlbedoWorkspaceMaterialData *, const char *, bool)

Function that tests if the data object provided is valid (pointer checks, metadata, etc).

IsValid(const PrecomputedVisibilityData *, const char *)

Function that tests if the data object provided is valid (pointer checks, metadata, etc).

IsValid(const PrecomputedVisibilityWorkspace *, const char *)

Function that tests if the data object provided is valid (pointer checks, metadata, etc).

IsValid(const InterpolationInputSet *, const char *)

Function that tests if the data object provided is valid (pointer checks, metadata, etc).

IsValid(const ResamplingData *, const char *)

Function that tests if the data object provided is valid (pointer checks, metadata, etc).

RunDebugBucketSelectionTask(const Enlighten::RadDebugBucketSelectionTask *)

Generate a texture that highlights the information specified in the task object.

Typedefs

NameDescription
Geo::GeoMap< Geo::s32, const GeoClusterNodeTree * > ClusterIdLookup

Lookup from linear cluster ID to node.

Geo::GeoArray< ClusterRange > ClusterRangeArray

Collection of cluster ranges.

Geo::GeoArray< GeoDirectionalPoint > GeoDirectionalPointList

Collection of points with normals for debugging.

Geo::GeoArray< GeoRayOrigin > GeoRayOriginList

Collection of ray origins for debugging.

Geo::GeoArray< GeoRayOrigin * > GeoRayOriginListPtr

Collection of ray origins for debugging.

Geo::GeoArray< Geo::GeoTriangle > GeoTriangleList

Collection of triangles for debugging.


Anchor
a350b7f0ef94b2fc20a18d5c9c1d0be1e
a350b7f0ef94b2fc20a18d5c9c1d0be1e

bool GEO_CALL Enlighten::CompareIrradianceOutputBuffers

...

public: bool GEO_CALL CompareIrradianceOutputBuffers
(
    Geo::Statistics & irrResult,
    Geo::Statistics & dirResult,
    const Enlighten::IrradianceOutputDesc & descA,
    const Enlighten::IrradianceOutputDesc & descB
)

...

Compares a pair of Enlighten irradiance outputs.

Returns true if the output buffers could be compared.

Parameters
[inout]irrResult

- The result of comparing irradiance. Only written if the function succeeded.

[inout]dirResult

- The result of comparing directional element. Only written if the function succeeded.

[in]descA

- The first irradiance output to compare.

[in]descB

- The second irradiance output to compare.


Anchor
a9d913e159ac4e28b10aa5ece0742b497
a9d913e159ac4e28b10aa5ece0742b497

bool GEO_CALL Enlighten::DoDebugColouring

...

public: bool GEO_CALL DoDebugColouring
(
    const Enlighten::RadDebugColouringTask * task
)

...

Write debugging colours to an output texture.

The default is to colour naughty pixels in red, and wings in blue in an irradiance output. To use this function with SH-style output, call it three times (once for each output texture), with appropriate debugging values. Or to say if differently: If you clear the texture to zero (including alpha) in advance you could render with the results as an additive overlay, but it will also work just as well if you want to add the results on top of the usual radiosity output.

Parameters
[in]task

A valid pointer to a RadDebugColouringTask to perform.


Anchor
a0014b39748c2bbee5378b69411c114d5
a0014b39748c2bbee5378b69411c114d5

bool GEO_CALL Enlighten::FindDebugClusterInfo

...

public: bool GEO_CALL FindDebugClusterInfo
(
    RadDebugPixelInfo * infoOut,
    Geo::s32 clusterIndex,
    const RadSystemCore * radCore
)

...

Fill in a RadDebugPixelInfo for a specified leaf cluster index (for internal debugging purposes).

Given a cluster index, find the pixel and related indices that the cluster index corresponds to. Returns false if nothing was found at the location.


Anchor
ac363b39d72405030cc1348b4df3ad257
ac363b39d72405030cc1348b4df3ad257

bool GEO_CALL Enlighten::FindDebugPixelInfo

...

public: bool GEO_CALL FindDebugPixelInfo
(
    RadDebugPixelInfo * infoOut,
    float u,
    float v,
    const RadSystemCore * radCore,
    const ILightTransportOutput * ltOutput
)

...

Fill in a RadDebugPixelInfo for a specified UV coordinate (for internal debugging purposes).

Given a UV coordinate find the pixel and related indices that the UV coordinate corresponds to. The ltOutput parameter is optional, but the other arguments are not. Returns false if nothing was found at the location.


Anchor
afa3565ed50dbdaae2b5f4a1cd95bf690
afa3565ed50dbdaae2b5f4a1cd95bf690

Geo::u64* GEO_CALL Enlighten::GetProbeBucketPatternArray

...

public: Geo::u64 *GEO_CALL GetProbeBucketPatternArray
(
    const RadProbeSetCore * probeSetCore
)

...

Return an array of bucket pattern codes, with one entry for each solved probe.


Anchor
adfb71c19073ce97361cc35021e54908b
adfb71c19073ce97361cc35021e54908b

bool GEO_CALL Enlighten::IsValid

...

public: bool GEO_CALL IsValid
(
    const RadSystemCore * radCore,
    const char * functionName
)

...

Function that tests if the data object provided is valid (pointer checks, metadata, etc).


Anchor
ac5bdffb6a7370cb30469c91e269ac1f9
ac5bdffb6a7370cb30469c91e269ac1f9

bool GEO_CALL Enlighten::IsValid

...

public: bool GEO_CALL IsValid
(
    const RadProbeSetCore * probeSetCore,
    Geo::u32 sectionMask,
    const char * functionName
)

...

Function that tests if the data object provided is valid (pointer checks, metadata, etc).


Anchor
ad097ac8e56488d7275690971cce0efa2
ad097ac8e56488d7275690971cce0efa2

bool GEO_CALL Enlighten::IsValid

...

public: bool GEO_CALL IsValid
(
    const RadProbeSetCore * probeSetCore,
    const char * functionName
)

...

Function that tests if the data object provided is valid (pointer checks, metadata, etc).


Anchor
aa25ea11ebf0bfc9f72e22ec5ae56e95b
aa25ea11ebf0bfc9f72e22ec5ae56e95b

bool GEO_CALL Enlighten::IsValid

...

public: bool GEO_CALL IsValid
(
    const RadCubeMapCore * cubeMapCore,
    const char * functionName
)

...

Function that tests if the data object provided is valid (pointer checks, metadata, etc).


Anchor
ac7d83cc6dba130005c8bb521f7124c65
ac7d83cc6dba130005c8bb521f7124c65

bool GEO_CALL Enlighten::IsValid

...

public: bool GEO_CALL IsValid
(
    const InputWorkspace * inputWorkspace,
    const char * functionName,
    bool requireProjectedPoints
)

...

Function that tests if the data object provided is valid (pointer checks, metadata, etc).


Anchor
ad90bc8297c1415247902ace16632c126
ad90bc8297c1415247902ace16632c126

bool GEO_CALL Enlighten::IsValid

...

public: bool GEO_CALL IsValid
(
    const ClusterAlbedoWorkspaceMaterialData * cawData,
    const char * functionName,
    bool requireMaterialGuids
)

...

Function that tests if the data object provided is valid (pointer checks, metadata, etc).


Anchor
a2f4cacece914f7c9a558e66d884e6a9c
a2f4cacece914f7c9a558e66d884e6a9c

bool GEO_CALL Enlighten::IsValid

...

public: bool GEO_CALL IsValid
(
    const PrecomputedVisibilityData * visData,
    const char * functionName
)

...

Function that tests if the data object provided is valid (pointer checks, metadata, etc).


Anchor
abc83f3f5c219771b5bb8ba2970c92848
abc83f3f5c219771b5bb8ba2970c92848

bool GEO_CALL Enlighten::IsValid

...

public: bool GEO_CALL IsValid
(
    const PrecomputedVisibilityWorkspace * visWorkspace,
    const char * functionName
)

...

Function that tests if the data object provided is valid (pointer checks, metadata, etc).


Anchor
ad8b8c5d4175843e9b9b7d96d67466e4a
ad8b8c5d4175843e9b9b7d96d67466e4a

bool GEO_CALL Enlighten::IsValid

...

public: bool GEO_CALL IsValid
(
    const InterpolationInputSet * inputSet,
    const char * functionName
)

...

Function that tests if the data object provided is valid (pointer checks, metadata, etc).


Anchor
a04e797ded2d574171483a74433132905
a04e797ded2d574171483a74433132905

bool GEO_CALL Enlighten::IsValid

...

public: bool GEO_CALL IsValid
(
    const ResamplingData * resamplingData,
    const char * functionName
)

...

Function that tests if the data object provided is valid (pointer checks, metadata, etc).


Anchor
a57bd0260c16986376b179b051f583457
a57bd0260c16986376b179b051f583457

bool GEO_CALL Enlighten::RunDebugBucketSelectionTask

...

public: bool GEO_CALL RunDebugBucketSelectionTask
(
    const Enlighten::RadDebugBucketSelectionTask * task
)

...

Generate a texture that highlights the information specified in the task object.

Parameters
[in]task

A valid pointer to a RadDebugBucketSelectionTask to perform.