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 PrecomputeProcess
  • class Enlighten PrecompVolumeQueryBox
  • class Enlighten PrecompVoxelId
  • class Enlighten PrecompVoxelOctree
  • class Enlighten PrecompVoxelOctreePath
  • class Enlighten PrecompVoxelOctreeVolume
  • class Enlighten ProbeBounceBuffer
  • class Enlighten ProbeBounceWorkspace
  • class Enlighten ProbeInterpolant
  • class Enlighten ProbeInterpolationTask
  • class Enlighten ProbeSetDataBlock
  • class Enlighten ProbeSetManagerVoxel
  • class Enlighten ProbeSetMeta
  • class Enlighten ProbeSetOctreeNode
  • class Enlighten ProbeSetVirtualProbe
  • class Enlighten ProfileHistory
  • class Enlighten QuadIterator
  • class Enlighten QuadShader
  • class Enlighten QuickFlatClusterShader
  • 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 RectangleLight CachedData
  • 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
  • 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
    Calendars

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

    This is the documentation for Enlighten.

    class Enlighten RectangleLight CachedData

    Nov 21, 2019

    class Enlighten::RectangleLight::CachedData

        └>Enlighten::InputLightBase

    Cached data for rectangle light.

    Variables

    Name Description
    Geo::v128 m_Colour

    Colour.

    Geo::v128 m_Direction

    Forward direction.

    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?

    float m_Height

    Height.

    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)

    Geo::u32 m_PaddingA

    Unused padding.

    Geo::u32 m_PaddingB

    Unused padding.

    Geo::u32 m_PaddingC

    Unused padding.

    Geo::v128 m_Position

    Position.

    Geo::v128 m_RightDirection

    Right direction.

    Geo::v128 m_UpDirection

    Up direction.

    const Geo::u8 * m_VisibilityData

    Visibility data.

    Geo::u64 m_VisibilityData64

    Visibility data.

    float m_Width

    Width.

    Functions

    Name Description
    CachedData(const RectangleLight &, const void *)

    Constructor.

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

    Note - the 4th v128 parameter has to be passed as a reference as the vs2008 compiler can't pass more than 3 v128s as values and preserve alignment.

    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.

    ShadePoint(Geo::v128, Geo::v128)

    This computes the illumination on samplePos/sampleNormal from the area light description.

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

    Shades the given quad.

    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 quads.


    Enlighten::RectangleLight::CachedData::CachedData


    public: CachedData
    (
        const RectangleLight & rectangleLight,
        const void * perDusterVisibility
    )


    Constructor.


    GEO_CONTROLLED_INLINE float Enlighten::RectangleLight::CachedData::CalcEdgeContribution


    public: GEO_CONTROLLED_INLINE float CalcEdgeContribution
    (
        Geo::v128 v0,
        Geo::v128 v1,
        Geo::v128 samplePos,
        const Geo::v128 & sampleNormal
    ) const


    Note - the 4th v128 parameter has to be passed as a reference as the vs2008 compiler can't pass more than 3 v128s as values and preserve alignment.


    void Enlighten::RectangleLight::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::RectangleLight::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::RectangleLight::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::RectangleLight::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::RectangleLight::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::RectangleLight::CachedData::ShadePoint


    public: GEO_CONTROLLED_INLINEGeo::v128 ShadePoint
    (
        Geo::v128 samplePos,
        Geo::v128 sampleNormal
    ) const


    This computes the illumination on samplePos/sampleNormal from the area light description.

    It uses a bit of stokes theorem to integrate the area of the rectangle by clipping and integrating around it's contour.


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

    , multiple selections available,
    {"serverDuration": 10, "requestCorrelationId": "585d169b9c6d4f52a26a86daa9437570"}