This is the documentation for Enlighten.

struct Enlighten UE4 UnrealDirectionalLightFunction CachedData

struct Enlighten::UE4::UnrealDirectionalLightFunction::CachedData

    └>Enlighten::InputLightBase

Cached data for DirectionalLight.

Variables

Name Description
Geo::v128 m_Colour

RGB intensity of the light (linear space).

Geo::v128 m_Direction

World space position of light.

bool m_HasChanged

Whether the light has changed since it was last given to the extended direct lighting api.

Geo::u32 m_HasVisibility

Has visisibility data?

const Geo::u8 * m_LightFunctionClipmap

Clipmap for light function.

Geo::u32 m_LightFunctionClipmapLevelCount

Clipmap level count for light function.

Geo::u32 m_LightFunctionClipmapResolution

Clipmap resolution for light function.

Geo::u32 m_LightFunctionClipmapScale

Clipmap scale for light function.

const eLightType m_LightType

Type of input light corresponding to an eLightType enum value.

float m_MaximumDistance

Distance from the camera changing the light to another(Refer to Enlighten::DirectionalLight).

Geo::u64 m_Padding

Unused (this class is usually extended by one that starts with multiple v128s)

Geo::v128 m_ViewPosition

Clipmap view position for light function.

VisibilityBuffer m_VisibilityBuffer

Visibility buffer.

Functions


GEO_CONTROLLED_INLINE Enlighten::UE4::UnrealDirectionalLightFunction::CachedData::CachedData


public: GEO_CONTROLLED_INLINE CachedData
(
    const UnrealDirectionalLightFunction & directionalLight,
    const void * perDusterVisibility
)


Constructor.


GEO_CONTROLLED_INLINE bool Enlighten::UE4::UnrealDirectionalLightFunction::CachedData::DistanceFilter


public: GEO_CONTROLLED_INLINE bool DistanceFilter
(
    float viewDistance
) const


Return true if this light affects a system at the specified distance from the viewer.


GEO_CONTROLLED_INLINE bool Enlighten::InputLightBase::DistanceFilter


public: GEO_CONTROLLED_INLINE bool DistanceFilter
(
    float viewDistance
) const


Return true if this light affects a system at the specified distance from the viewer.


void Enlighten::UE4::UnrealDirectionalLightFunction::CachedData::Hash


public: void Hash
(
    Helpers::Hasher & hash,
    Geo::u32 clusterVisSize,
    Geo::u32 quadVisSize
)


Hash the light data.


Enlighten::InputLightBase::InputLightBase


protected: InputLightBase
(
    eLightType lightType
)


Constructor.


Enlighten::InputLightBase::InputLightBase


protected: InputLightBase
(
    eLightType lightType,
    bool hasChanged
)


Constructor.


GEO_CONTROLLED_INLINE bool Enlighten::UE4::UnrealDirectionalLightFunction::CachedData::IsIntersectingCluster


public: GEO_CONTROLLED_INLINE bool IsIntersectingCluster
(
    const Geo::v128 & bbMin,
    const Geo::v128 & bbMax,
    const Geo::v128 & minNormalFlipped,
    const Geo::v128 & maxNormalFlipped
) const


Complex light V normalBoundingBox intersection test.


GEO_CONTROLLED_INLINE bool Enlighten::UE4::UnrealDirectionalLightFunction::CachedData::IsIntersectingClusterGroup


public: GEO_CONTROLLED_INLINE bool IsIntersectingClusterGroup
(
    const Geo::v128 & bbMin,
    const Geo::v128 & bbMax,
    const Geo::v128 & minNormalFlipped,
    const Geo::v128 & maxNormalFlipped
) const


Light v ClusterGroup Bounding box intersection test.


GEO_CONTROLLED_INLINE bool Enlighten::UE4::UnrealDirectionalLightFunction::CachedData::IsIntersectingSystem


public: GEO_CONTROLLED_INLINE bool IsIntersectingSystem
(
    const Geo::v128 & bbMin,
    const Geo::v128 & bbMax
) const


Simple Light V system BoundingBox intersection test.


GEO_CONTROLLED_INLINE Geo::v128 Enlighten::UE4::UnrealDirectionalLightFunction::CachedData::ShadeQuad


public: GEO_CONTROLLED_INLINEGeo::v128 ShadeQuad
(
    const Geo::v128 & positionsX,
    const Geo::v128 & positionsY,
    const Geo::v128 & positionsZ,
    const Geo::v128 & normalsX,
    const Geo::v128 & normalsY,
    const Geo::v128 & normalsZ,
    Geo::u32 clusterIdx,
    Geo::u32 quadIdx
) const


Shade the given quad.


GEO_CONTROLLED_INLINE Geo::v128 Enlighten::UE4::UnrealDirectionalLightFunction::CachedData::ShadeQuadIntensities


public: GEO_CONTROLLED_INLINEGeo::v128 ShadeQuadIntensities
(
    const Geo::v128 & positionsX,
    const Geo::v128 & positionsY,
    const Geo::v128 & positionsZ,
    const Geo::v128 & normalsX,
    const Geo::v128 & normalsY,
    const Geo::v128 & normalsZ,
    const Geo::v128 & visibilityMask
) const


Shades the given quads.