UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FImportanceTexture Struct Reference

#include <ImportanceSamplingLibrary.h>

Public Member Functions

 FImportanceTexture ()
 
 FImportanceTexture (UTexture2D *SourceTexture, TEnumAsByte< EImportanceWeight::Type > WeightingFunc)
 
 FImportanceTexture (const FImportanceTexture &Other)
 
 FImportanceTexture (FImportanceTexture &&Other)
 
FImportanceTextureoperator= (const FImportanceTexture &Other)
 
FImportanceTextureoperator= (FImportanceTexture &&Other)
 
void Initialize (UTexture2D *SourceTexture, TEnumAsByte< EImportanceWeight::Type > WeightingFunc)
 
void ImportanceSample (const FVector2D &Rand, int Samples, float Intensity, FVector2D &SamplePosition, FLinearColor &SampleColor, float &SampleIntensity, float &SampleSize) const
 
FLinearColor GetColorBilinear (FVector2D Position, int32 Mip) const
 
FLinearColor GetColorTrilinear (FVector2D Position, float Mip) const
 
float ImportanceWeight (FColor Texel, TEnumAsByte< EImportanceWeight::Type > WeightingFunc) const
 

Public Attributes

FIntPoint Size
 
int NumMips
 
TArray< floatMarginalCDF
 
TArray< floatConditionalCDF
 
TArray< FColorTextureData_DEPRECATED
 
TArray< FLinearColorLinearTextureData
 
TWeakObjectPtr< UTexture2DTexture
 
TEnumAsByte< EImportanceWeight::TypeWeighting
 

Detailed Description

Texture processed for importance sampling Holds marginal PDF of the rows, as well as the PDF of each row

Constructor & Destructor Documentation

◆ FImportanceTexture() [1/4]

PRAGMA_DISABLE_DEPRECATION_WARNINGS FImportanceTexture::FImportanceTexture ( )

◆ FImportanceTexture() [2/4]

FImportanceTexture::FImportanceTexture ( UTexture2D SourceTexture,
TEnumAsByte< EImportanceWeight::Type WeightingFunc 
)

◆ FImportanceTexture() [3/4]

FImportanceTexture::FImportanceTexture ( const FImportanceTexture Other)
default

◆ FImportanceTexture() [4/4]

FImportanceTexture::FImportanceTexture ( FImportanceTexture &&  Other)
default

Member Function Documentation

◆ GetColorBilinear()

FLinearColor FImportanceTexture::GetColorBilinear ( FVector2D  Position,
int32  Mip 
) const

◆ GetColorTrilinear()

PRAGMA_ENABLE_DEPRECATION_WARNINGS FLinearColor FImportanceTexture::GetColorTrilinear ( FVector2D  Position,
float  Mip 
) const

◆ ImportanceSample()

void FImportanceTexture::ImportanceSample ( const FVector2D Rand,
int  Samples,
float  Intensity,
FVector2D SamplePosition,
FLinearColor SampleColor,
float SampleIntensity,
float SampleSize 
) const

Distribute sample points proportional to Texture2D luminance.

Parameters
Rand- Random 2D point with components evenly distributed between 0 and 1
Samples- Total number of samples that will be used
Intensity- Overall target intensity scale @outparam SamplePosition - Importance sampled 2D output texture coordinate (0-1) @outparam SampleColor - Representative color near Position from MIP level for SampleSize @outparam SampleIntensity - Intensity of individual point @outparam SampleSize - Local density of points near Position (scaled for 1x1 texture space)

◆ ImportanceWeight()

float FImportanceTexture::ImportanceWeight ( FColor  Texel,
TEnumAsByte< EImportanceWeight::Type WeightingFunc 
) const

◆ Initialize()

void FImportanceTexture::Initialize ( UTexture2D SourceTexture,
TEnumAsByte< EImportanceWeight::Type WeightingFunc 
)

◆ operator=() [1/2]

FImportanceTexture & FImportanceTexture::operator= ( const FImportanceTexture Other)
default

◆ operator=() [2/2]

FImportanceTexture & FImportanceTexture::operator= ( FImportanceTexture &&  Other)
default

Member Data Documentation

◆ ConditionalCDF

TArray<float> FImportanceTexture::ConditionalCDF

◆ LinearTextureData

TArray<FLinearColor> FImportanceTexture::LinearTextureData

◆ MarginalCDF

TArray<float> FImportanceTexture::MarginalCDF

◆ NumMips

int FImportanceTexture::NumMips

◆ Size

FIntPoint FImportanceTexture::Size

◆ Texture

TWeakObjectPtr<UTexture2D> FImportanceTexture::Texture

◆ TextureData_DEPRECATED

TArray<FColor> FImportanceTexture::TextureData_DEPRECATED

◆ Weighting

TEnumAsByte<EImportanceWeight::Type> FImportanceTexture::Weighting

The documentation for this struct was generated from the following files: