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 |