Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device. Atlassian cookies and tracking notice, (opens new window)

Enlighten API 3.10 Documentation
Results will update as you type.
  • class Enlighten QuickQuadShader
  • class Enlighten R9G9B9E5CpuTextureSampler
  • class Enlighten R11G11B10CpuTextureSampler
  • class Enlighten RadCubeMapCore
  • class Enlighten RadCubeMapMetaData
  • class Enlighten RadCubeMapTask
  • class Enlighten RadDataBlock
  • class Enlighten RadDebugBucketSelectionTask
  • class Enlighten RadDebugColouringTask
  • class Enlighten RadDebugPixelInfo
  • class Enlighten RadiosityInputTree
  • class Enlighten RadiosityInstance
  • class Enlighten RadIrradianceTask
  • class Enlighten RadProbeSetCore
  • class Enlighten RadProbeSetMetaData
  • class Enlighten RadProbeTask
  • class Enlighten RadSystemCore
  • class Enlighten RadSystemMetaData
  • class Enlighten RawBuffer
  • class Enlighten ReadInputLightingBufferInfo
  • class Enlighten RectangleLight
  • class Enlighten RefTextureAllocator
  • class Enlighten RefTextureUpdater
  • class Enlighten ReleaseSystemSolutionSpacesInfo
  • class Enlighten RemoveInfo
  • class Enlighten ResampleBounceParameters
  • class Enlighten ResampleTextureParameters
  • class Enlighten Rgba64Linear
  • class Enlighten RgbaCpuTextureSampler
  • class Enlighten RgbmCpuTextureSampler
  • class Enlighten SetLightBankUpdateCounterInfo
  • class Enlighten SetParameterCommand
  • class Enlighten SetProbeSetTransformInfo
  • class Enlighten SetTransparencySamplePositionOffsetInfo
  • class Enlighten SetVisibilityBitsInfo
  • class Enlighten SolveBounceTask
  • class Enlighten SortedLights
  • class Enlighten SourceMeshInstanceMeta
  • class Enlighten SphereVolume
  • class Enlighten Spotlight
    • struct Enlighten Spotlight CachedData
  • class Enlighten SpotlightMeta
  • class Enlighten SystemAlbedoData
  • class Enlighten SystemDataBlock
  • class Enlighten SystemDependencies
  • class Enlighten SystemGrouping
  • class Enlighten SystemMeta
  • class Enlighten TaskProcessor
  • class Enlighten TransparencyWorkspace
  • class Enlighten Triangle2D
  • class Enlighten TriggerVolumeTransparencyGeneric
  • class Enlighten UpdateEnvironmentInfo
  • class Enlighten UpdateLightCommandGeneric
  • class Enlighten UpdateLightInfo
  • class Enlighten UpdateLightOptions
  • class Enlighten UpdateManagerLight
  • class Enlighten UpdateManagerProperties
  • class Enlighten UpdateManagerWorkerProperties
  • class Enlighten Vertex2D
  • class Enlighten VisibilityBuffer
  • class Enlighten WorkerFunctionCommand
  • class Enlighten WorkerFunctionParameterCommand
  • class Enlighten WorkerFunctionTwoParametersCommand
  • class Enlighten WorkerFunctorCommand
  • class Enlighten WorkerObjectFunctionCommand
  • class Enlighten WorkerThreadData
  • class Enlighten WorkspaceAllocator
  • class Enlighten XmlWriter
  • namespace Enlighten Errors
  • namespace Enlighten Helpers
  • namespace Enlighten Iff
  • namespace Enlighten InputLightingValidation
  • namespace Enlighten Itt
  • namespace Enlighten OutputTextureState
  • namespace Enlighten UE4
  • namespace Enlighten Version
  • struct Enlighten AllFilter
  • struct Enlighten BakeInputTexture
  • struct Enlighten CachedLightSelector
  • struct Enlighten CachedLightWriter
  • struct Enlighten CanQuickShade
    Calendars

You‘re viewing this with anonymous access, so some content might be blocked.
/
struct Enlighten Spotlight CachedData

    This is the documentation for Enlighten.

    struct Enlighten Spotlight CachedData

    Nov 21, 2019

    struct Enlighten::Spotlight::CachedData

        └>Enlighten::InputLightBase

    Cached data for spotlights.

    Variables

    Name Description
    Geo::v128 m_BoundsMax

    Axis aligned bounding box.

    Geo::v128 m_BoundsMin

    Axis aligned bounding box.

    Geo::v128 m_Colour

    RGB intensity of the light (linear space).

    Geo::v128 m_CosLightAngle

    Cos (light angle)

    Geo::v128 m_CutoffSquared

    Cutoff * cutoff.

    Geo::v128 m_Direction

    World space direction of light.

    Geo::v128 m_DirectionScale

    Direction scale.

    Enlighten::InternalLightFalloffTable m_Falloff

    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(scaled light angle) + 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

    World space position of light.

    Geo::v128 m_Radius

    Radius.

    Geo::v128 m_SpotlightTable[33]

    Spotlight table.

    const Geo::u8 * m_VisibilityData

    Visibility data.

    Geo::u64 m_VisibilityData64

    Visibility data.

    Functions

    Name Description
    CachedData(Spotlight &, const void *)

    Constructor.

    Hash(Helpers::Hasher &, Geo::u32, Geo::u32)

    Hash the light data.

    InputLightBase(eLightType)

    Constructor.

    InputLightBase(eLightType, bool)

    Constructor.

    IsIntersectingCluster(const Geo::v128 &, const Geo::v128 &, const Geo::v128 &, const Geo::v128 &)

    Complex light V normalBoundingBox intersection test.

    IsIntersectingClusterGroup(const Geo::v128 &, const Geo::v128 &, const Geo::v128 &, const Geo::v128 &)

    Light v ClusterGroup Bounding box intersection test.

    IsIntersectingSystem(const Geo::v128 &, const Geo::v128 &)

    Simple Light V system BoundingBox intersection test.

    ShadeFourSamples(const Geo::v128 &, const Geo::v128 &, const Geo::v128 &, const Geo::v128 &, const Geo::v128 &, const Geo::v128 &, Geo::u32, Geo::v128 &, Geo::v128 &, Geo::v128 &, Geo::v128 &)

    Shades the given samples.

    ShadeQuad(const Geo::v128 &, const Geo::v128 &, const Geo::v128 &, const Geo::v128 &, const Geo::v128 &, const Geo::v128 &, Geo::u32, Geo::u32)

    Calculate the average light colour for the samples.

    ShadeQuadIntensities(const Geo::v128 &, const Geo::v128 &, const Geo::v128 &, const Geo::v128 &, const Geo::v128 &, const Geo::v128 &, const Geo::v128 &)

    Shades the given quad.


    Enlighten::Spotlight::CachedData::CachedData


    public: CachedData
    (
        Spotlight & spotlight,
        const void * perDusterVisibility
    )


    Constructor.


    void Enlighten::Spotlight::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::Spotlight::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::Spotlight::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::Spotlight::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::Spotlight::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::Spotlight::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


    Calculate the average light colour for the samples.


    GEO_CONTROLLED_INLINE Geo::v128 Enlighten::Spotlight::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 quad.

    , multiple selections available,
    {"serverDuration": 9, "requestCorrelationId": "3a0bdd261fb548c39da7eb3c3d054bee"}