namespace Enlighten Helpers

This is the documentation for Enlighten.

namespace Enlighten Helpers

Enlighten::Helpers

Classes

Name

Description

Enlighten::Helpers::Hasher

Hashes data.

Functions

Name

Description

ConstructLightViewProjTransposed(const Geo::v128 &, const Geo::v128 &, const Geo::v128 &, const Geo::v128 &, float, float, float, float, float, Geo::v128 &, Geo::v128 &, Geo::v128 &)

Constructs a transposed light view projection matrix for the given light parameters.

ExtractDusterVisibility(const Geo::u8 *, const Geo::u32, const Geo::u32)

Extracts 4 consecutive bits into an XYZW mask from the given visibility data based on the given quad index.

ExtractIndexedXyValues(const Geo::v128 *, const Geo::v128 &, Geo::v128 &, Geo::v128 &)

Extracts the indexed X and Y values from a vector table, based on the input indices.

ExtractSampleVisibility(const Geo::u8 *, const Geo::u32, const Geo::u32)

Extracts 4 consecutive bits into an XYZW mask from the given visibility data given an arbitrary sample index.

QuadDotProduct(const Geo::v128 &, const Geo::v128 &, const Geo::v128 &, const Geo::v128 &, const Geo::v128 &, const Geo::v128 &)

Determine dot product of four 3-component vectors packed into x, y and z against another 4 vectors packed into normalsX, normalsY and normalsZ.

QuadDotProduct(const Geo::v128 &, const Geo::v128 &, const Geo::v128 &, const Geo::v128 &)

Determine dot product of four 3-component vectors packed into x, y and z against another vector.

QuadLengthSquared(const Geo::v128 &, const Geo::v128 &, const Geo::v128 &)

Determine length squared of four 3-component vectors packed into x, y and z.

VisibilityMask(const void *)

Determine the mask to be used based on the visibility pointer.

 

Geo::Matrix Enlighten::Helpers::ConstructLightViewProjTransposed


public: Geo::Matrix ConstructLightViewProjTransposed
(
    const Geo::v128 & rightVec,
    const Geo::v128 & upVec,
    const Geo::v128 & dirVec,
    const Geo::v128 & position,
    float coneAngle,
    float secondConeAngle,
    float nearDist,
    float far,
    float cutoff,
    Geo::v128 & sinOut,
    Geo::v128 & cosOut,
    Geo::v128 & tanOut
)


Constructs a transposed light view projection matrix for the given light parameters.

 

Parameters

[in]

rightVec

- The 'right' vector of light basis in world space

[in]

upVec

- The 'up' vector of light basis in world space

[in]

dirVec

-The 'forward' vector of light basis in world space

[in]

position

- The world space position of the light

[in]

coneAngle

- The cone angle of the light

[in]

secondConeAngle

- The second cone angle of the light

[in]

nearDist

- The light near plane distance

[in]

far

- The light far plane distance

[in]

cutoff

- The radius outside which the intensity of the light is clamped to zero

[out]

sinOut

- The computed sin of the light cone angle

[out]

cosOut

- The computed cosine of the light cone angle

[out]

tanOut

- The computed tangent of the light cone angle

Returns

The transposed light view projection matrix

 

 

Geo::v128 Enlighten::Helpers::ExtractDusterVisibility


public: Geo::v128 ExtractDusterVisibility
(
    const Geo::u8 * visibility,
    const Geo::u32 quadIndex,
    const Geo::u32 indexMask
)


Extracts 4 consecutive bits into an XYZW mask from the given visibility data based on the given quad index.

 

Parameters

[in]

visibility

- The packed duster visibility data

[in]

quadIndex

- The index into the packed duster visibility data

[in]

indexMask

- The index mask

Returns

The XYZW duster visibility mask

 

 

void Enlighten::Helpers::ExtractIndexedXyValues


public: void ExtractIndexedXyValues
(
    const Geo::v128 * table,
    const Geo::v128 & vIndices,
    Geo::v128 & xValues,
    Geo::v128 & yValues
)


Extracts the indexed X and Y values from a vector table, based on the input indices.

 

Parameters

[in]

table

- The table to index

[in]

vIndices

- The floating point indices (truncated before doing the lookup)

[out]

xValues

- The X values

[out]

yValues

- The Y values

 

 

Geo::v128 Enlighten::Helpers::ExtractSampleVisibility


public: Geo::v128 ExtractSampleVisibility
(
    const Geo::u8 * visibility,
    const Geo::u32 sampleIdx,
    const Geo::u32 indexMask
)


Extracts 4 consecutive bits into an XYZW mask from the given visibility data given an arbitrary sample index.

 

Parameters

[in]

visibility

- The packed sample visibility data

[in]

sampleIdx

- The index into the packed sample visibility data

[in]

indexMask

- The index mask

Returns

The XYZW sample visibility mask

 

 

GEO_CONTROLLED_INLINE Geo::v128 Enlighten::Helpers::QuadDotProduct


public: GEO_CONTROLLED_INLINEGeo::v128 QuadDotProduct
(
    const Geo::v128 & x,
    const Geo::v128 & y,
    const Geo::v128 & z,
    const Geo::v128 & normalsX,
    const Geo::v128 & normalsY,
    const Geo::v128 & normalsZ
)


Determine dot product of four 3-component vectors packed into x, y and z against another 4 vectors packed into normalsX, normalsY and normalsZ.

 

Parameters

[in]

x

- contains the x component of 4 vectors

[in]

y

- contains the y component of 4 vectors

[in]

z

- contains the z component of 4 vectors

[in]

normalsX

- contains the x component of 4 normals

[in]

normalsY

- contains the y component of 4 normals

[in]

normalsZ

- contains the z component of 4 normals

 

 

GEO_CONTROLLED_INLINE Geo::v128 Enlighten::Helpers::QuadDotProduct


public: GEO_CONTROLLED_INLINEGeo::v128 QuadDotProduct
(
    const Geo::v128 & x,
    const Geo::v128 & y,
    const Geo::v128 & z,
    const Geo::v128 & normal
)


Determine dot product of four 3-component vectors packed into x, y and z against another vector.

 

Parameters

[in]

x

- contains the x component of 4 vectors

[in]

y

- contains the y component of 4 vectors

[in]

z

- contains the z component of 4 vectors

[in]

normal

- vector to do the dot product against for the 4 packed vectors

 

 

GEO_CONTROLLED_INLINE Geo::v128 Enlighten::Helpers::QuadLengthSquared


public: GEO_CONTROLLED_INLINEGeo::v128 QuadLengthSquared
(
    const Geo::v128 & x,
    const Geo::v128 & y,
    const Geo::v128 & z
)


Determine length squared of four 3-component vectors packed into x, y and z.

 

Parameters

[in]

x

- contains the x component of 4 vectors

[in]

y

- contains the y component of 4 vectors

[in]

z

- contains the z component of 4 vectors

 

 

GEO_CONTROLLED_INLINE Geo::u32 Enlighten::Helpers::VisibilityMask


public: GEO_CONTROLLED_INLINEGeo::u32 VisibilityMask
(
    const void * visibilityPointer
)


Determine the mask to be used based on the visibility pointer.

 

Parameters

[in]

visibilityPointer

- Pointer to the visibility buffer