Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
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
 
FORCEINLINE TSHVectorRGBoperator+= (const TSHVectorRGB &InB)
 
FORCEINLINE TSHVectorRGBoperator-= (const TSHVectorRGB &InB)
 
FORCEINLINE 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

FORCEINLINE TSHVectorRGB operator* (const TSHVectorRGB &A, const float &Scalar)
 
FORCEINLINE TSHVectorRGB operator* (const float &Scalar, const TSHVectorRGB &A)
 
FORCEINLINE TSHVectorRGB operator* (const TSHVectorRGB &A, const FLinearColor &Color)
 
FORCEINLINE TSHVectorRGB operator* (const FLinearColor &Color, const TSHVectorRGB &A)
 
FORCEINLINE TSHVectorRGB operator/ (const TSHVectorRGB &A, const float &InB)
 
FORCEINLINE TSHVectorRGB operator+ (const TSHVectorRGB &A, const TSHVectorRGB &InB)
 
FORCEINLINE TSHVectorRGB operator- (const TSHVectorRGB &A, const TSHVectorRGB &InB)
 
FORCEINLINE 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.

Definition at line 491 of file SHMath.h.

Constructor & Destructor Documentation

◆ TSHVectorRGB() [1/2]

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

Definition at line 499 of file SHMath.h.

◆ TSHVectorRGB() [2/2]

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

Definition at line 502 of file SHMath.h.

Member Function Documentation

◆ AddAmbient()

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

Adds ambient lighting.

Definition at line 679 of file SHMath.h.

◆ AddIncomingRadiance()

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

Adds an impulse to the SH environment.

Definition at line 673 of file SHMath.h.

◆ ApplyWindowing()

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

Definition at line 535 of file SHMath.h.

◆ AreFloatsValid()

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

Definition at line 542 of file SHMath.h.

◆ CalcIntegral()

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

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

Definition at line 525 of file SHMath.h.

◆ Desaturate()

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

Definition at line 515 of file SHMath.h.

◆ GetLuminance()

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

Calculates greyscale spherical harmonic coefficients.

Definition at line 510 of file SHMath.h.

◆ operator*=()

template<int32 MaxSHOrder>
FORCEINLINE 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)

Definition at line 658 of file SHMath.h.

◆ operator+=()

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)

Definition at line 634 of file SHMath.h.

◆ operator-=()

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)

Definition at line 646 of file SHMath.h.

Friends And Related Symbol Documentation

◆ Dot

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

Dot product operator.

Definition at line 620 of file SHMath.h.

◆ operator* [1/4]

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

Color multiplication operator.

Definition at line 580 of file SHMath.h.

◆ operator* [2/4]

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

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

Definition at line 560 of file SHMath.h.

◆ operator* [3/4]

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

Color multiplication operator.

Definition at line 570 of file SHMath.h.

◆ operator* [4/4]

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

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

Definition at line 549 of file SHMath.h.

◆ operator+

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

Addition operator.

Definition at line 600 of file SHMath.h.

◆ operator-

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

Subtraction operator.

Definition at line 610 of file SHMath.h.

◆ operator/

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

Division operator.

Definition at line 590 of file SHMath.h.

◆ operator<<

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

Definition at line 667 of file SHMath.h.

Member Data Documentation

◆ B

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

Definition at line 497 of file SHMath.h.

◆ G

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

Definition at line 496 of file SHMath.h.

◆ R

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

Definition at line 495 of file SHMath.h.


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