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