/
struct Enlighten UE4 UE4InputLight CachedData

This is the documentation for Enlighten.

struct Enlighten UE4 UE4InputLight CachedData

struct Enlighten::UE4::UE4InputLight::CachedData

    └>Enlighten::InputLightBase

Cached data for a UE4InputLight.

Functions

Variables

Name Description
bool bFullSphere

Full sphere?

bool bLineLight

True if this light has line-based falloff instead of point.

Geo::v128 BoundsMax

Axis aligned bounding box.

Geo::v128 BoundsMin

Axis aligned bounding box.

bool bSpotlight

Is this a spotlight?

Geo::v128 CosOuterCone_InvCosConeDiff_CosCullAngle_NegSinCullAngle

Pack four floats into a single v128 to avoid bloat.

Geo::v128 Direction

World space direction of the light.

Geo::u32 HasVisibility

Has visibility?

const float * IESProfileTable

IES profile table.

Geo::v128 Intensity_SqrRadius

RGB intensity of the light, plus square-radius packed into the w component.

Geo::v128 LightPos

World space position of light.

bool m_HasChanged

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

const eLightType m_LightType

Type of input light corresponding to an eLightType enum value.

Geo::u64 m_Padding

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

RadialFalloffModelType::CachedData RadialFalloffModel

Cached data for radial falloff model.

const Geo::u8 * VisibilityData

Visibility data.

Geo::s64 VisibilityDataU64

Visibility data.


Enlighten::UE4::UE4InputLight< RadialFalloffModelType >::CachedData::CachedData


public: CachedData
(
    UE4InputLight & light,
    const void * perDusterVisibility
)


Constructor.


GEO_CONTROLLED_INLINE Geo::v128 Enlighten::UE4::UE4InputLight< RadialFalloffModelType >::CachedData::GetCosCullAngle


public: GEO_CONTROLLED_INLINEGeo::v128 GetCosCullAngle() const


Accessors.


GEO_CONTROLLED_INLINE Geo::v128 Enlighten::UE4::UE4InputLight< RadialFalloffModelType >::CachedData::GetCosOuterCone


public: GEO_CONTROLLED_INLINEGeo::v128 GetCosOuterCone() const


Accessors.


GEO_CONTROLLED_INLINE Geo::v128 Enlighten::UE4::UE4InputLight< RadialFalloffModelType >::CachedData::GetIntensity


public: GEO_CONTROLLED_INLINEGeo::v128 GetIntensity() const


Accessors.


GEO_CONTROLLED_INLINE Geo::v128 Enlighten::UE4::UE4InputLight< RadialFalloffModelType >::CachedData::GetInvCosConeDifference


public: GEO_CONTROLLED_INLINEGeo::v128 GetInvCosConeDifference() const


Accessors.


GEO_CONTROLLED_INLINE Geo::v128 Enlighten::UE4::UE4InputLight< RadialFalloffModelType >::CachedData::GetNegativeSinCullAngle


public: GEO_CONTROLLED_INLINEGeo::v128 GetNegativeSinCullAngle() const


Accessors.


GEO_CONTROLLED_INLINE Geo::v128 Enlighten::UE4::UE4InputLight< RadialFalloffModelType >::CachedData::GetSqrRadius


public: GEO_CONTROLLED_INLINEGeo::v128 GetSqrRadius() const


Accessors.


void Enlighten::UE4::UE4InputLight< RadialFalloffModelType >::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::UE4InputLight< RadialFalloffModelType >::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::UE4InputLight< RadialFalloffModelType >::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::UE4InputLight< RadialFalloffModelType >::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 void Enlighten::UE4::UE4InputLight< RadialFalloffModelType >::CachedData::ShadeFourSamples


public: GEO_CONTROLLED_INLINE void ShadeFourSamples
(
    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 sampleIdx,
    Geo::v128 & colourOut0,
    Geo::v128 & colourOut1,
    Geo::v128 & colourOut2,
    Geo::v128 & colourOut3
) const


Shades the given samples.


GEO_CONTROLLED_INLINE Geo::v128 Enlighten::UE4::UE4InputLight< RadialFalloffModelType >::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


Shades the given quad.


GEO_CONTROLLED_INLINE Geo::v128 Enlighten::UE4::UE4InputLight< RadialFalloffModelType >::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 & visibility
) const


Believe it or not, making this function force-inline is actually a huge perf win.

Related content

struct Enlighten UE4 UE4InputLight CachedData
struct Enlighten UE4 UE4InputLight CachedData
More like this
struct Enlighten DirectionalLight CachedData
struct Enlighten DirectionalLight CachedData
More like this
struct Enlighten DirectionalLight CachedData
struct Enlighten DirectionalLight CachedData
More like this
struct Enlighten DirectionalLight CachedData
struct Enlighten DirectionalLight CachedData
More like this
struct Enlighten PointLight CachedData
struct Enlighten PointLight CachedData
More like this
struct Enlighten PointLight CachedData
struct Enlighten PointLight CachedData
More like this