This is the documentation for Enlighten.

module Debugging Utilities

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

Classes

Name Description
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::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

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

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

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

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

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


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.


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.


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.


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


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


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


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


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


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


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


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


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


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


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.