UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TSHVectorRGB< MaxSHOrder > Class Template Reference

#include <SHMath.h>

Public Member Functions

 TSHVectorRGB ()
 
template<int32 OtherOrder>
 TSHVectorRGB (const TSHVectorRGB< OtherOrder > &Other)
 
TSHVector< MaxSHOrderGetLuminance () const
 
void Desaturate (float DesaturateFraction)
 
FLinearColor CalcIntegral () const
 
void ApplyWindowing (float Lambda)
 
bool AreFloatsValid () const
 
TSHVectorRGBoperator+= (const TSHVectorRGB &InB)
 
TSHVectorRGBoperator-= (const TSHVectorRGB &InB)
 
TSHVectorRGBoperator*= (const float &Scalar)
 
void AddIncomingRadiance (const FLinearColor &IncomingRadiance, float Weight, const FVector4 &WorldSpaceDirection)
 
void AddAmbient (const FLinearColor &Intensity)
 

Public Attributes

TSHVector< MaxSHOrderR
 
TSHVector< MaxSHOrderG
 
TSHVector< MaxSHOrderB
 

Friends

TSHVectorRGB operator* (const TSHVectorRGB &A, const float &Scalar)
 
TSHVectorRGB operator* (const float &Scalar, const TSHVectorRGB &A)
 
TSHVectorRGB operator* (const TSHVectorRGB &A, const FLinearColor &Color)
 
TSHVectorRGB operator* (const FLinearColor &Color, const TSHVectorRGB &A)
 
TSHVectorRGB operator/ (const TSHVectorRGB &A, const float &InB)
 
TSHVectorRGB operator+ (const TSHVectorRGB &A, const TSHVectorRGB &InB)
 
TSHVectorRGB operator- (const TSHVectorRGB &A, const TSHVectorRGB &InB)
 
FLinearColor Dot (const TSHVectorRGB &A, const TSHVector< MaxSHOrder > &InB)
 
FArchiveoperator<< (FArchive &Ar, TSHVectorRGB &SH)
 

Detailed Description

template<int32 MaxSHOrder>
class TSHVectorRGB< MaxSHOrder >

A vector of colored spherical harmonic coefficients.

Constructor & Destructor Documentation

◆ TSHVectorRGB() [1/2]

template<int32 MaxSHOrder>
TSHVectorRGB< MaxSHOrder >::TSHVectorRGB ( )
inline

◆ TSHVectorRGB() [2/2]

template<int32 MaxSHOrder>
template<int32 OtherOrder>
TSHVectorRGB< MaxSHOrder >::TSHVectorRGB ( const TSHVectorRGB< OtherOrder > &  Other)
inlineexplicit

Member Function Documentation

◆ AddAmbient()

template<int32 MaxSHOrder>
void TSHVectorRGB< MaxSHOrder >::AddAmbient ( const FLinearColor Intensity)
inline

Adds ambient lighting.

◆ AddIncomingRadiance()

template<int32 MaxSHOrder>
void TSHVectorRGB< MaxSHOrder >::AddIncomingRadiance ( const FLinearColor IncomingRadiance,
float  Weight,
const FVector4 WorldSpaceDirection 
)
inline

Adds an impulse to the SH environment.

◆ ApplyWindowing()

template<int32 MaxSHOrder>
void TSHVectorRGB< MaxSHOrder >::ApplyWindowing ( float  Lambda)
inline

◆ AreFloatsValid()

template<int32 MaxSHOrder>
bool TSHVectorRGB< MaxSHOrder >::AreFloatsValid ( ) const
inline

◆ CalcIntegral()

template<int32 MaxSHOrder>
FLinearColor TSHVectorRGB< MaxSHOrder >::CalcIntegral ( ) const
inline

Calculates the integral of the function over the surface of the sphere.

◆ Desaturate()

template<int32 MaxSHOrder>
void TSHVectorRGB< MaxSHOrder >::Desaturate ( float  DesaturateFraction)
inline

◆ GetLuminance()

template<int32 MaxSHOrder>
TSHVector< MaxSHOrder > TSHVectorRGB< MaxSHOrder >::GetLuminance ( ) const
inline

Calculates greyscale spherical harmonic coefficients.

◆ operator*=()

template<int32 MaxSHOrder>
TSHVectorRGB & TSHVectorRGB< MaxSHOrder >::operator*= ( const float Scalar)
inline

In-place scalar multiplication operator. Changed from (*this = *this * InB;) to separate all calc to avoid LHS Now it calls directly *= operator in TSHVector (avoid TSHVectorRGB * operator)

◆ operator+=()

template<int32 MaxSHOrder>
TSHVectorRGB & TSHVectorRGB< MaxSHOrder >::operator+= ( const TSHVectorRGB< MaxSHOrder > &  InB)
inline

In-place addition operator. Changed from (*this = *this + InB;) to separate all calc to avoid LHS Now it calls directly += operator in TSHVector (avoid TSHVectorRGB + operator)

◆ operator-=()

template<int32 MaxSHOrder>
TSHVectorRGB & TSHVectorRGB< MaxSHOrder >::operator-= ( const TSHVectorRGB< MaxSHOrder > &  InB)
inline

In-place subtraction operator. Changed from (*this = *this - InB;) to separate all calc to avoid LHS Now it calls directly -= operator in TSHVector (avoid TSHVectorRGB - operator)

Friends And Related Symbol Documentation

◆ Dot

template<int32 MaxSHOrder>
FLinearColor Dot ( const TSHVectorRGB< MaxSHOrder > &  A,
const TSHVector< MaxSHOrder > &  InB 
)
friend

Dot product operator.

◆ operator* [1/4]

template<int32 MaxSHOrder>
TSHVectorRGB operator* ( const FLinearColor Color,
const TSHVectorRGB< MaxSHOrder > &  A 
)
friend

Color multiplication operator.

◆ operator* [2/4]

template<int32 MaxSHOrder>
TSHVectorRGB operator* ( const float Scalar,
const TSHVectorRGB< MaxSHOrder > &  A 
)
friend

Scalar multiplication operator. Changed to float& from float to avoid LHS

◆ operator* [3/4]

template<int32 MaxSHOrder>
TSHVectorRGB operator* ( const TSHVectorRGB< MaxSHOrder > &  A,
const FLinearColor Color 
)
friend

Color multiplication operator.

◆ operator* [4/4]

template<int32 MaxSHOrder>
TSHVectorRGB operator* ( const TSHVectorRGB< MaxSHOrder > &  A,
const float Scalar 
)
friend

Scalar multiplication operator. Changed to float& from float to avoid LHS

◆ operator+

template<int32 MaxSHOrder>
TSHVectorRGB operator+ ( const TSHVectorRGB< MaxSHOrder > &  A,
const TSHVectorRGB< MaxSHOrder > &  InB 
)
friend

Addition operator.

◆ operator-

template<int32 MaxSHOrder>
TSHVectorRGB operator- ( const TSHVectorRGB< MaxSHOrder > &  A,
const TSHVectorRGB< MaxSHOrder > &  InB 
)
friend

Subtraction operator.

◆ operator/

template<int32 MaxSHOrder>
TSHVectorRGB operator/ ( const TSHVectorRGB< MaxSHOrder > &  A,
const float InB 
)
friend

Division operator.

◆ operator<<

template<int32 MaxSHOrder>
FArchive & operator<< ( FArchive Ar,
TSHVectorRGB< MaxSHOrder > &  SH 
)
friend

Member Data Documentation

◆ B

template<int32 MaxSHOrder>
TSHVector<MaxSHOrder> TSHVectorRGB< MaxSHOrder >::B

◆ G

template<int32 MaxSHOrder>
TSHVector<MaxSHOrder> TSHVectorRGB< MaxSHOrder >::G

◆ R

template<int32 MaxSHOrder>
TSHVector<MaxSHOrder> TSHVectorRGB< MaxSHOrder >::R

The documentation for this class was generated from the following file: