class Enlighten RectangleLight CachedData

This is the documentation for Enlighten.

class Enlighten RectangleLight CachedData

class Enlighten::RectangleLight::CachedData

    └>Enlighten::InputLightBase

Cached data for rectangle light.

Variables

Name

Description

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

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
)