Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

class Enlighten::BoxSpotlight::CachedData

    └>Enlighten::InputLightBase

Cached data for box spotlight.

Variables

NameDescription
Geo::v128 m_Bounds[4]

Bounds.

Geo::v128 m_BoundsMax

Bounds max.

Geo::v128 m_BoundsMin

Bounds min.

Geo::v128 m_Colour

Colour.

Geo::v128 m_CosLightAngle

Cos (light angle)

Geo::v128 m_CutoffSquared

Cutoff squared.

Geo::v128 m_Direction

Direction.

Geo::v128 m_DirectionScale

Direction scale.

Enlighten::InternalLightFalloffTable m_FalloffTable

Falloff table.

bool m_HasChanged

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

Geo::u32 m_HasVisibilityData

Has visibility data?

const eLightType m_LightType

Type of input light corresponding to an eLightType enum value.

Geo::v128 m_NegativeCosAngleScaledPlusOne

-Cos(angle scaled) + 1

Geo::v128 m_NegativeSinLightAngle

-Sin(light angle)

Geo::u32 m_Padding

Unused padding.

Geo::u64 m_Padding

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

Geo::v128 m_Position

Position.

Geo::v128 m_Radius

Radius.

Geo::v128 m_RightDirection

Right direction.

Geo::v128 m_SpotlightTable[33]

Spotlight table.

Geo::v128 m_UpDirection

Up direction.

const Geo::u8 * m_VisibilityData

Visibility data.

Geo::u64 m_VisibilityData64

Visibility data.

Functions


Anchor
a4b7ae0f4db1cc674afdbcdd45a5e9759
a4b7ae0f4db1cc674afdbcdd45a5e9759

Enlighten::BoxSpotlight::CachedData::CachedData

...

public: CachedData
(
    const BoxSpotlight & boxSpotLight,
    const void * perDusterVisibility
)

...

Constructor.


Anchor
a8c141f069d3b871bbe1903146fb8808d
a8c141f069d3b871bbe1903146fb8808d

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.


Anchor
a6177efeca057281851faa03fec11ccfa
a6177efeca057281851faa03fec11ccfa

void Enlighten::BoxSpotlight::CachedData::Hash

...

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

...

Hash the light data.


Anchor
a1e800e092db44a3676d766c6b1317085
a1e800e092db44a3676d766c6b1317085

Enlighten::InputLightBase::InputLightBase

...

protected: InputLightBase
(
    eLightType lightType
)

...

Constructor.


Anchor
a8f8299daadfb542d3d6821951b936188
a8f8299daadfb542d3d6821951b936188

Enlighten::InputLightBase::InputLightBase

...

protected: InputLightBase
(
    eLightType lightType,
    bool hasChanged
)

...

Constructor.


Anchor
a4ee152ee4a92aa324491550459f70d68
a4ee152ee4a92aa324491550459f70d68

GEO_CONTROLLED_INLINE bool Enlighten::BoxSpotlight::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
af90aa82be884ca51ef40109a5a462c6a
af90aa82be884ca51ef40109a5a462c6a

GEO_CONTROLLED_INLINE bool Enlighten::BoxSpotlight::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
aef45e7a45ae82b1b6c739cb96f7cf399
aef45e7a45ae82b1b6c739cb96f7cf399

GEO_CONTROLLED_INLINE bool Enlighten::BoxSpotlight::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
a53d0c39df42987d734715f6c57f9e583
a53d0c39df42987d734715f6c57f9e583

GEO_CONTROLLED_INLINE void Enlighten::BoxSpotlight::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
aa81672d3b0390124fbd4f564a9bb931f
aa81672d3b0390124fbd4f564a9bb931f

GEO_CONTROLLED_INLINE Geo::v128 Enlighten::BoxSpotlight::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
a6785cba74a220eb6143ba8c3d7ece8ca
a6785cba74a220eb6143ba8c3d7ece8ca

GEO_CONTROLLED_INLINE Geo::v128 Enlighten::BoxSpotlight::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

...

Shades the given quads.