struct Enlighten::UE4::UE4InputLight::CachedData
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. |
Anchor | ||||
---|---|---|---|---|
|
Enlighten::UE4::UE4InputLight< RadialFalloffModelType >::CachedData::CachedData
...
public: CachedData
(
UE4InputLight & light,
const void * perDusterVisibility
)
...
Constructor.
Anchor | ||||
---|---|---|---|---|
|
GEO_CONTROLLED_INLINE Geo::v128 Enlighten::UE4::UE4InputLight< RadialFalloffModelType >::CachedData::GetCosCullAngle
...
public: GEO_CONTROLLED_INLINEGeo::v128 GetCosCullAngle() const
...
Accessors.
Anchor | ||||
---|---|---|---|---|
|
GEO_CONTROLLED_INLINE Geo::v128 Enlighten::UE4::UE4InputLight< RadialFalloffModelType >::CachedData::GetCosOuterCone
...
public: GEO_CONTROLLED_INLINEGeo::v128 GetCosOuterCone() const
...
Accessors.
Anchor | ||||
---|---|---|---|---|
|
GEO_CONTROLLED_INLINE Geo::v128 Enlighten::UE4::UE4InputLight< RadialFalloffModelType >::CachedData::GetIntensity
...
public: GEO_CONTROLLED_INLINEGeo::v128 GetIntensity() const
...
Accessors.
Anchor | ||||
---|---|---|---|---|
|
GEO_CONTROLLED_INLINE Geo::v128 Enlighten::UE4::UE4InputLight< RadialFalloffModelType >::CachedData::GetInvCosConeDifference
...
public: GEO_CONTROLLED_INLINEGeo::v128 GetInvCosConeDifference() const
...
Accessors.
Anchor | ||||
---|---|---|---|---|
|
GEO_CONTROLLED_INLINE Geo::v128 Enlighten::UE4::UE4InputLight< RadialFalloffModelType >::CachedData::GetNegativeSinCullAngle
...
public: GEO_CONTROLLED_INLINEGeo::v128 GetNegativeSinCullAngle() const
...
Accessors.
Anchor | ||||
---|---|---|---|---|
|
GEO_CONTROLLED_INLINE Geo::v128 Enlighten::UE4::UE4InputLight< RadialFalloffModelType >::CachedData::GetSqrRadius
...
public: GEO_CONTROLLED_INLINEGeo::v128 GetSqrRadius() const
...
Accessors.
Anchor | ||||
---|---|---|---|---|
|
void Enlighten::UE4::UE4InputLight< RadialFalloffModelType >::CachedData::Hash
...
public: void Hash
(
Helpers::Hasher & hash,
Geo::u32 clusterVisSize,
Geo::u32 quadVisSize
)
...
Hash the light data.
Anchor | ||||
---|---|---|---|---|
|
Enlighten::InputLightBase::InputLightBase
...
protected: InputLightBase
(
eLightType lightType
)
...
Constructor.
Anchor | ||||
---|---|---|---|---|
|
Enlighten::InputLightBase::InputLightBase
...
protected: InputLightBase
(
eLightType lightType,
bool hasChanged
)
...
Constructor.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.
Anchor | ||||
---|---|---|---|---|
|
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.