This is the documentation for Enlighten.

module Rectangle Lights

Additional functionality to support rectangular area lights.

Functions

Name Description
CalcLightValueSize(PrecisionHint::Value)

Return the size of the light value given the precision hint.

CalcRectangleLightAreaNormalisation(float, float, float)

Returns an intensity normalisation factor for area lights.

CalcRectangleLightMinEdgeLength(float)

Returns a minimum edge length for rectangular lights that should minimise noise from float precision.


Geo::u32 GEO_CALL Enlighten::CalcLightValueSize


public: Geo::u32GEO_CALL CalcLightValueSize
(
    PrecisionHint::Value precision
)


Return the size of the light value given the precision hint.

Parameters
[in] precision

The hint to what floating point precision to use.


float GEO_CALL Enlighten::CalcRectangleLightAreaNormalisation


public: float GEO_CALL CalcRectangleLightAreaNormalisation
(
    float initialWidth,
    float initialHeight,
    float unitScale
)


Returns an intensity normalisation factor for area lights.

By default, the apparent brightness of rectangular lights changes with their size - larger rectangles emit more light. It can be convenient to instead adjust the brightness so that changing the lights size does not affect the brightness by normalising the light intensity. This function computes a factor that normalises to a 100x100 unit light source (1m^2 in Enlighten units).

Returns

Will return -1 for invalid input (nans, infs, and tiny unitScales) and 0 for zero area lights.

See Also

InputLight


float GEO_CALL Enlighten::CalcRectangleLightMinEdgeLength


public: float GEO_CALL CalcRectangleLightMinEdgeLength
(
    float unitScale
)


Returns a minimum edge length for rectangular lights that should minimise noise from float precision.

The default unitScale for a scene is 1.

Returns

Will return -1 for invalid input (nans, infs, and tiny unitScales)

See Also

InputLight