This is the documentation for Enlighten.

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

Classes

Name Description
Geo::GeoFloat3SE
Geo::GeoFloatAsBits

Allow safe conversion between a float and its representative bit pattern.

Functions

Name Description
ConstructFloatPow2(int)

Constructs a float which is exactly equal to 1x2^exponent.

ConvertColourToV(GeoColour)

The 4 float components of v128 correspond to the native ordering of the 4 byte components of u32.

ConvertVToColour(v128)

The 4 float components of v128 correspond to the native ordering of the 4 byte components of u32.

ConvertVToIntensity(v128)

The 4 float components of v128 correspond to the native ordering of the 4 byte components of u32.

GetFloatExponent(float)

Extract the exponent of the given float, accounting for the bias (i.e. the result is in the range -127 to +128).

GetFloatMantissa(float)

Extracts the mantissa of the given float.

PackFloatToFixedWidth(float)

Packs a single-precision floating point number into a floating point number with the given number of exponent and mantissa bits.

PackFloatToRgbm(v128, bool)

Pack a v128 colour value into a u32 in RGBM format.

PackFloatToSharedExponent999e5(v128)

Packs a 4-vector of single-precision floating point numbers into a "shared exponent" 999e5 format.

UnpackFloatFromFixedWidth(u32)

Unacks a single-precision floating point number from a floating point number with the given number of exponent and mantissa bits.

UnpackFloatFromSharedExponent999e5(u32)

Unpacks a 4-vector of single-precision floating point numbers from a "shared exponent" 999e5 format.

UnpackRgbmToFloat(u32)

Unpack an rgbm colour into a v128.

VNormaliseLuminance(v128)

Normalise the intensity of a colour vector to have unit luminance.

Typedefs

Name Description
u32 GeoColour

An 8-bit colour.

Variables

Name Description
const Geo::v128 g_LuminanceCoefficients = Geo::VConstruct(0.2126f, 0.7152f, 0.0722f, 0.0f)

The coefficients to calculate the luminance from a colour specified in linear sRGB space These values are determined by the CIE 1931 colour space standard and the definition of the sRGB primaries.


GEO_FORCE_INLINE float Geo::ConstructFloatPow2


public: GEO_FORCE_INLINE float ConstructFloatPow2
(
    int exponent
)


Constructs a float which is exactly equal to 1x2^exponent.


v128 GEO_CALL Geo::ConvertColourToV


public: v128 GEO_CALL ConvertColourToV
(
    GeoColour colour
)


The 4 float components of v128 correspond to the native ordering of the 4 byte components of u32.


GeoColour GEO_CALL Geo::ConvertVToColour


public: GeoColour GEO_CALL ConvertVToColour
(
    v128 colour
)


The 4 float components of v128 correspond to the native ordering of the 4 byte components of u32.


float GEO_CALL Geo::ConvertVToIntensity


public: float GEO_CALL ConvertVToIntensity
(
    v128 colour
)


The 4 float components of v128 correspond to the native ordering of the 4 byte components of u32.


GEO_FORCE_INLINE int Geo::GetFloatExponent


public: GEO_FORCE_INLINE int GetFloatExponent
(
    float f
)


Extract the exponent of the given float, accounting for the bias (i.e. the result is in the range -127 to +128).


GEO_FORCE_INLINE u32 Geo::GetFloatMantissa


public: GEO_FORCE_INLINE u32 GetFloatMantissa
(
    float f
)


Extracts the mantissa of the given float.


GEO_FORCE_INLINE u32 Geo::PackFloatToFixedWidth


public: GEO_FORCE_INLINE u32 PackFloatToFixedWidth
(
    float in
)


Packs a single-precision floating point number into a floating point number with the given number of exponent and mantissa bits.


GEO_FORCE_INLINE u32 Geo::PackFloatToRgbm


public: GEO_FORCE_INLINE u32 PackFloatToRgbm
(
    v128 inputValue,
    bool isRgbaByteOrder
)


Pack a v128 colour value into a u32 in RGBM format.


GEO_FORCE_INLINE u32 Geo::PackFloatToSharedExponent999e5


public: GEO_FORCE_INLINE u32 PackFloatToSharedExponent999e5
(
    v128 colour
)


Packs a 4-vector of single-precision floating point numbers into a "shared exponent" 999e5 format.


GEO_FORCE_INLINE float Geo::UnpackFloatFromFixedWidth


public: GEO_FORCE_INLINE float UnpackFloatFromFixedWidth
(
    u32 in
)


Unacks a single-precision floating point number from a floating point number with the given number of exponent and mantissa bits.


GEO_FORCE_INLINE v128 Geo::UnpackFloatFromSharedExponent999e5


public: GEO_FORCE_INLINE v128 UnpackFloatFromSharedExponent999e5
(
    u32 colour
)


Unpacks a 4-vector of single-precision floating point numbers from a "shared exponent" 999e5 format.


GEO_FORCE_INLINE v128 Geo::UnpackRgbmToFloat


public: GEO_FORCE_INLINE v128 UnpackRgbmToFloat
(
    u32 rgbm
)


Unpack an rgbm colour into a v128.


v128 Geo::VNormaliseLuminance


public: v128 VNormaliseLuminance
(
    v128 colour
)


Normalise the intensity of a colour vector to have unit luminance.

If colour has no luminance (black, or infs/nans) then this returns black The alpha is always preserved.

  • No labels